Hallo Leute, Damit bei uns die MariaDB auf unserer DS220+ NAS schön flüssig läuft, habe ich via HTOP die Priorität erhöht. Nach einem Neustart ist das aber wieder bei Teufel :-( Idee: Ein Script, welches alle paar Minuten ausgeführt wird und den MariaDB Prozess auf eine höhere Priorität setzt. Dafür geeignet wäre ja der renice Befehl. AABER: Wie kann ich da die Priorität erhöhen? Das geht nicht: renice -n -19 /usr/local/mariadb10/bin/mysqld Würde mich sehr über eure Hilfe freuen.
Ate E. schrieb: > Das geht nicht: > renice -n -19 /usr/local/mariadb10/bin/mysqld Vermutlich nicht. Zunaechst mal benoetigst Du root Rechte fuer den renice Befehl um die Priorietaet zu erhoehen. Dann willst Du ja einen bereits laufenden Prozess (dehalb ja renice und nicht nice?) veraendern. Also musst solltest Du auch die PID angeben. So koenntest Du es machen: sudo renice -n -19 -p <PID> Wenn Du die Prioritaeten ueber einen Neustart hinweg beibehalten willst, dann solltest Du entsprechende Eintraege in /etc/security/limits.conf hinzufuegen oder unter /etc/security/limits.d/ fuer jeden Prozess eine eigene Datei anlegen.
Einfach bleiben lassen? Welcher andere Prozess verursacht denn so viel CPU Last dass deine DB nicht "schön flüssig lauft"?
:
Bearbeitet durch User
Ich wuerde erstmal gucken, warum die DB so "unfluessig" laeuft (offensichtlich ist die Gesamtleistung der DS220+ ja ausreichend, sonst haette Dein Fix mit dem renice nichts gebracht). Eventuell verbraet irgendein Process ("Was ist denn ein Miner?") eine Unmenge an CPU- oder IO-Zeit. Das waere mehr der Ansatz das Problem zu analysieren und zu loesen als ein Pflaster draufzukleben.
Eric I. schrieb: > Vermutlich nicht. Zunaechst mal benoetigst Du root Rechte fuer den > renice Befehl um die Priorietaet zu erhoehen. Das denkt man zwar gerne, ist aber falsch. ›root‹ Rechte sind nur nötig, wenn man die Priorität über den dem ›user‹ erlaubten Wert erhöhen möchte. Und diese Grenze kann man selbstverständlich konfigurieren.
Norbert schrieb: > Eric I. schrieb: >> Vermutlich nicht. Zunaechst mal benoetigst Du root Rechte fuer den >> renice Befehl um die Priorietaet zu erhoehen. > > Das denkt man zwar gerne, ist aber falsch. > ›root‹ Rechte sind nur nötig, wenn man die Priorität über den dem ›user‹ > erlaubten Wert erhöhen möchte. > Und diese Grenze kann man selbstverständlich konfigurieren. Hätte de TO bereits die Prioritäten für einzelne User/Gruppen erhöht, dann wären wohl auch entsprechende Einträge in der limits.conf vorhanden und er würde sich die Frage nach dem Beibehalten nach einem Neustart nicht stellen. Ich gehe hier also vom Standardwert 0 aus; um diesen auf -19 zu verändern bedarf es definitiv Root-Rechte.
Die Startbedingung ist die Prio 20 ! Da macht es einen Unterschied, wenn ich es auf -19 setze. Wurde in einem anderen Forum fündig:
1 | # Ermitteln der PID und in Variable "pid" speichern. |
2 | pid=$(ps aux | grep -v grep | grep "/usr/local/mariadb10/bin/mysqld" | awk '{print $2}') |
3 | |
4 | # Anschließend renice Befehl mit der ermittelten PID ausführen. |
5 | renice -n -19 -p "$pid" |
Ate E. schrieb: > Die Startbedingung ist die Prio 20 ! > Da macht es einen Unterschied, wenn ich es auf -19 setze. Du solltest vielleicht einmal überprüfen, warum der Standardwert bei 20 (also geringste Priorität) liegt. Ich habe Dir ja bereits die Orte genannt, wo entsprechende Einstellungen gespeichert werden.
Wo wird denn der Rest der Rechenzeit verbraten ? Die Synology sind ja so flexibel, dass man nicht alles laufen lassen muss. Ich denke die Prioritaet zu erhoehen ist der falsche Weg. Allenfalls sind die Anfragen auch suboptimal ? Ein verbocktes Wordpress, klotziges CMS, unguenstiger Webseiten Code ?
Eric I. schrieb: > Hätte de TO bereits die Prioritäten für einzelne User/Gruppen erhöht, > dann wären wohl auch entsprechende Einträge in der limits.conf vorhanden Nur geht es darum gar nicht. Du hast eine Behauptung aufgestellt die in ihrer Absolutheit nicht stimmt und bist korrigiert worden. Wovon du ›ausgehst‹ ist dabei völlig irrelevant.
Purzel H. schrieb: > Wo wird denn der Rest der Rechenzeit verbraten ? Mit einem virtuellen 2019er Server.
Ate E. schrieb: > Mit einem virtuellen 2019er Server. Jetzt mal langsam... Du hast eine Synology DS220+ - das Ding hat einen Celeron 1007U, sprich 2 Kerne, Das Ding hat 2GB RAM.... Darauf lässt du genau was laufen? Als BS läuft sicherlich DSM 7 richtig? Darunter lässt du in einer Virtuellen Maschine noch Windows Server 2019 laufen? Und du wunderst dich warum MariaDB nicht "flüssig" läuft?!
Nicht ganz. Hat 18GB RAM. Als Lizenzserver. Wenn die Prio geändert wird, läuft die DB flüssig.
Und weswegen verbraet ein Lizenzserver so viel Rechenzeit ?
Die VM hat eine CPU Nutzung von 75%. Egal ob der Server Idle oder ausgelastet ist. Das ist eben der Nachteil der VM.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.