Forum: PC Hard- und Software Synology DS220+ NAS -> MariaDB mit höherer Priorität auführen -> renice ?


von Ate E. (drigo)


Lesenswert?

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.

von Eric I. (i716)


Lesenswert?

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.

von Lukey S. (lukey3332)


Lesenswert?

Einfach bleiben lassen? Welcher andere Prozess verursacht denn so viel 
CPU Last dass deine DB nicht "schön flüssig lauft"?

: Bearbeitet durch User
von Thomas W. (dbstw)


Lesenswert?

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.

von Norbert (der_norbert)


Lesenswert?

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.

von Eric I. (i716)


Lesenswert?

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.

von Ate E. (drigo)


Lesenswert?

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"

von Eric I. (i716)


Lesenswert?

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.

von Purzel H. (hacky)


Lesenswert?

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 ?

von Norbert (der_norbert)


Lesenswert?

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.

von Ate E. (drigo)


Lesenswert?

Purzel H. schrieb:
> Wo wird denn der Rest der Rechenzeit verbraten ?

Mit einem virtuellen 2019er Server.

von Rene K. (xdraconix)


Lesenswert?

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?!

von Ate E. (drigo)


Lesenswert?

Nicht ganz.
Hat 18GB RAM.

Als Lizenzserver.

Wenn die Prio geändert wird, läuft die DB flüssig.

von Purzel H. (hacky)


Lesenswert?

Und weswegen verbraet ein Lizenzserver so viel Rechenzeit ?

von Ate E. (drigo)


Lesenswert?

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
Noch kein Account? Hier anmelden.