Author Topic: s4sync und samba verbrauchen 100% CPU  (Read 2620 times)

obimichael

  • Zen Monk
  • **
  • Posts: 60
  • Karma: +3/-0
    • View Profile
s4sync und samba verbrauchen 100% CPU
« on: January 09, 2014, 04:53:28 pm »
Hallo!
Ich bin dabei einen kleine Heimserver aufzubauen, wobei Zentyal 3.3 auf Ubuntu 12.04 in einer VM mit 2GB läuft. Nachdem der Server fast 24h läuft, freue ich mich über jedes eingesparte Watt im Betrieb.

Jetzt habe ich gemerkt, dass das Skript s4sync und samba alle 30 Sekunden 105% der CPU verbrauchen (lt top), und dadurch der Stromverbrauch für ~10 Sekunden von ~ 18 - 20 Watt auf über 30 Watt klettert, danach fällt er wieder ab, CPU Verbrauch sinkt wieder auf 2 - 5%.

Ist das ein normales Verhalten, oder auf eine schwache CPU zurück zuführen? Hab jetzt 2 Lösungen ausgearbeitet, würde gerne wissen was für Nachteile zu erwarten sind.

  • s4sync wartet statt der 30 Sekunden, 240 Sekunden, bis es wieder weiter macht.
  • s4sync habe ich so abgeändert, das in den foreach Schleifen jeweils 5 ms Pause gemacht wird, dadurch fällt die Gesamtbelastung auf ~ 65 - 75%. Was der Unterschied in Watt mach, muss ich erst schauen.
  • s4sync habe ich so abgeändert, das in den foreach Schleifen jeweils 20 ms Pause gemacht wird, dadurch fällt die Gesamtbelastung auf ~ 40 - 50%. Was der Unterschied in Watt mach, muss ich erst schauen.

ad. 1) Mir ist klar, dass ich bei Änderungen bis zu 4 Minuten warten muss, bis Samba darauf reagiert.
ad. 2 + 3) Mir ist klar, dass bei einer großen Anzahl an Sync Objekten, der Prozess dadurch länger braucht, hab aber nur max. 10 User + Gruppen und ist für mich eigentlich nicht relevant.

Host: Ubuntu 12.04
Gast: KVM, Zentyal 3.3, Ubuntu 12.04
CPU: Intel(R) Celeron(R) CPU 1037U @ 1.80GHz
RAM: 4 GB
Michael

Sodale Verbrauch mal nachgeschaut, gemessen mit Voltcraft Energy Check 3000 von Conrad, also kein Hightech Produkt ;-)
ad. 2) von 23 - 24 W
ad. 3) von 22 - 22,6 W
« Last Edit: January 09, 2014, 08:26:00 pm by obimichael »

weißnix

  • Zen Monk
  • **
  • Posts: 76
  • Karma: +1/-0
    • View Profile
Re: s4sync und samba verbrauchen 100% CPU
« Reply #1 on: January 10, 2014, 05:54:03 am »
Neugierig wie ich bin habe ich (1) mal ausprobiert. Der Effekt auf die CPU-Auslastung ist nicht wegzuleugnen. Aber am Leistungsmesser sehe ich: genau garnix. Meine Kiste liegt so bei ~30W im Leerlauf und ca. ~38W bei Volllast. Bei diesen LowPower CPU's it n.m.A. die Leistungsaufnahme der anderen verbauten Komponenten viel entscheidender.

Von (2) und (3) halt ich nicht viel: Der Prozess erstreckt sich einfach nur über einen längeren Zeitrahmen. Der Gesamtleistungsumsatz dürfte sogar höher liegen. Aber ich glaube, da ist die Diskussion müßig, weil der Digitalisierungsfehler und Eigenverbrauch meines Equipments höher liegt als die zu erwartende Einsparung  ::)
Zentyal 7 auf Atom D525; 4GB RAM, 240 GB SSD,

File- und Mailserver
Remotezugriff via VPN

innocenti_jr

  • Zen Monk
  • **
  • Posts: 98
  • Karma: +9/-0
    • View Profile
Re: s4sync und samba verbrauchen 100% CPU
« Reply #2 on: January 10, 2014, 09:07:46 am »
Dem schließe ich mich an.
Ich würde (bzw. werde später) auch auf 1) setzen; mit 2) und 3) oder nice'n erhält man keine Effizienssteigerung.
(Mit 1) auch nicht, aber man kann die Symptome damit wohl am besten lindern.)
Ich finde es allerings erstaunlich, dass so ein Sync-Lauf bei nur 10 Benutzern/Gruppen ~10 Sekunden dauert, kommt mir reichlich lang vor.
"The problem with quotes on the Internet is that it is hard to verify their authenticity." - Abraham Lincoln

weißnix

  • Zen Monk
  • **
  • Posts: 76
  • Karma: +1/-0
    • View Profile
Re: s4sync und samba verbrauchen 100% CPU
« Reply #3 on: January 12, 2014, 12:59:44 pm »
Also jetzt nach 2 Tagen mit dem leicht geänderten Script ( sleep(30)-->sleep(90)) habe ich genau garkeine Probleme und weder positive noch negative messbare Effekte zu verzeichnen.
Lediglich in der CPU-Auslastung sieht man es deutlich. Ich hab mal den wöchentlichen Chart der Überwachung angehängt....
Zentyal 7 auf Atom D525; 4GB RAM, 240 GB SSD,

File- und Mailserver
Remotezugriff via VPN

obimichael

  • Zen Monk
  • **
  • Posts: 60
  • Karma: +3/-0
    • View Profile
Re: s4sync und samba verbrauchen 100% CPU
« Reply #4 on: January 15, 2014, 02:31:48 pm »
Also bei mir zeigt sich das wie gesagt sehr wohl am Stromverbrauch. Kann natürlich auch sein, dass dadurch, dass es in einer VM läuft, gepaart mit der CPU der Effekt auftritt oder das die CPU ab einer bestimmten Auslastung den "Turbo" einschaltet, und dadurch mehr verbraucht.
Lg
Michael
« Last Edit: January 15, 2014, 02:33:30 pm by obimichael »

mwolf2013

  • Zen Apprentice
  • *
  • Posts: 20
  • Karma: +0/-0
    • View Profile
Re: s4sync und samba verbrauchen 100% CPU
« Reply #5 on: April 02, 2014, 03:46:53 pm »
Hallo!
Ich bin dabei einen kleine Heimserver aufzubauen, wobei Zentyal 3.3 auf Ubuntu 12.04 in einer VM mit 2GB läuft. Nachdem der Server fast 24h läuft, freue ich mich über jedes eingesparte Watt im Betrieb.

Jetzt habe ich gemerkt, dass das Skript s4sync und samba alle 30 Sekunden 105% der CPU verbrauchen (lt top), und dadurch der Stromverbrauch für ~10 Sekunden von ~ 18 - 20 Watt auf über 30 Watt klettert, danach fällt er wieder ab, CPU Verbrauch sinkt wieder auf 2 - 5%.

Ist das ein normales Verhalten, oder auf eine schwache CPU zurück zuführen? Hab jetzt 2 Lösungen ausgearbeitet, würde gerne wissen was für Nachteile zu erwarten sind.

  • s4sync wartet statt der 30 Sekunden, 240 Sekunden, bis es wieder weiter macht.
  • s4sync habe ich so abgeändert, das in den foreach Schleifen jeweils 5 ms Pause gemacht wird, dadurch fällt die Gesamtbelastung auf ~ 65 - 75%. Was der Unterschied in Watt mach, muss ich erst schauen.
  • s4sync habe ich so abgeändert, das in den foreach Schleifen jeweils 20 ms Pause gemacht wird, dadurch fällt die Gesamtbelastung auf ~ 40 - 50%. Was der Unterschied in Watt mach, muss ich erst schauen.

ad. 1) Mir ist klar, dass ich bei Änderungen bis zu 4 Minuten warten muss, bis Samba darauf reagiert.
ad. 2 + 3) Mir ist klar, dass bei einer großen Anzahl an Sync Objekten, der Prozess dadurch länger braucht, hab aber nur max. 10 User + Gruppen und ist für mich eigentlich nicht relevant.

Host: Ubuntu 12.04
Gast: KVM, Zentyal 3.3, Ubuntu 12.04
CPU: Intel(R) Celeron(R) CPU 1037U @ 1.80GHz
RAM: 4 GB
Michael

Sodale Verbrauch mal nachgeschaut, gemessen mit Voltcraft Energy Check 3000 von Conrad, also kein Hightech Produkt ;-)
ad. 2) von 23 - 24 W
ad. 3) von 22 - 22,6 W

Hallo Michael,

kannst du uns den s4sync script mal posten...mir geht es nur um die 5ms Pause in den foreach Schleifen.

Vielen Dank
Marco

obimichael

  • Zen Monk
  • **
  • Posts: 60
  • Karma: +3/-0
    • View Profile
Re: s4sync und samba verbrauchen 100% CPU
« Reply #6 on: April 07, 2014, 08:03:35 am »
Hallo!
Ich hab meinen Server neu aufsetzen müssen, aber wenn ich wieder dabei bin, die Pausen einzufügen, dann poste ich es hier.
Michael

obimichael

  • Zen Monk
  • **
  • Posts: 60
  • Karma: +3/-0
    • View Profile
Re: s4sync und samba verbrauchen 100% CPU
« Reply #7 on: April 07, 2014, 03:21:05 pm »
Sodale, hab es so gelöst ...


foreach my $ou (@sambaOUs) {
  my $canonicalName = $ou->canonicalName(1);
  my $uniqueID = $ou->objectGUID();

  select(undef, undef, undef, 0.005);
  if(exists $zentyalOUs{$uniqueID}) {
  [...]


Grüsse aus  Wien
Michael

weißnix

  • Zen Monk
  • **
  • Posts: 76
  • Karma: +1/-0
    • View Profile
Re: s4sync und samba verbrauchen 100% CPU
« Reply #8 on: April 09, 2014, 07:13:29 am »
Alternativ so:

1. Das hier bei den Deklarationen einfügen

Code: [Select]
use Time::HiRes qw( usleep );

2. Die Schleifen modifizieren etwa so
Code: [Select]
foreach my $ou (@sambaOUs) {
usleep(5000);
        my $canonicalName = $ou->canonicalName(1);
        my $uniqueID = $ou->objectGUID();


   


usleep(microsekunden),
usleep(5000)=5ms
Zentyal 7 auf Atom D525; 4GB RAM, 240 GB SSD,

File- und Mailserver
Remotezugriff via VPN