"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Linux Server: shmpages am Limit?

Obermotz 13.08.2012 - 10:03 4984 7
Posts

Obermotz

Fünfzylindernazi
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
Hiho an die Linux Cracks!

Ich hab hier einen virtuellen Rootserver auf dem wir ein paar wichtige Applications laufen haben. (Apache mit ein paar Vhosts, Email-Server) Ich manage das meiste per Plesk. Habe seit kurzem aber ausfälle (500er Server-Errors) in der Plesk Oberfläche.
Ein Reboot des Containers hilft bisher immer.
Ich habe jetzt etwas nachgeforscht und die Admin-Oberfläche zeigt knappe Ressourcen bei "shmpages" - irgend einem Shared Memory.

Kann ich das umstellen oder das Limit höher setzen? Der Container hat 2GB RAM fix und 4GB dynamisch, an dem sollte es also nicht scheitern..

click to enlarge

tia

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14592
ja kannst du, grad "optimierte" datenbanken brauchen normal um einiges mehr shared memory.

http://www.linuxforums.org/forum/re....html#post85003

Ich hab keinen plan ob du bei der vroot box auf die kernel parameter hin darfst (weil ich keine ahnung hab wie virtualisiert wird), aber prinzipiell geht das auf standlone boxen so.

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Herumraten brongt gar nix. Nur das Errorlog des Webservers wird dir verraten koennen, warum etwas nicht wie erwartet funktioniert.

Kann schon sein, dass euer Container zu wenig shmpages fuer das, was ihr in ihm auffuehrt, zugeteilt bekommen hat. Hoehersetzen wird es aber nur der Superuser des Host-OS koennen.

Generell rate ich allen, die einen "VPS" mieten, von OpenVZ oder vergleichbarer Container-Technologie ab. KVM, Xen, VMWare sind (fuer die Bewohner des Gastsystems) die klar besseren Loesungen.

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Zitat von COLOSSUS
Generell rate ich allen, die einen "VPS" mieten, von OpenVZ oder vergleichbarer Container-Technologie ab. KVM, Xen, VMWare sind (fuer die Bewohner des Gastsystems) die klar besseren Loesungen.

Was genau ist an OpenVZ schlecht, und warum sind die anderen besser, und woran erkennt man den Unterschied, wenn es keines der genannten Systeme ist?

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
"Schlecht" ist an OpenVZ per se nichts, aber es wird meistens von den Providern am ganz untersten Ende der Preisfahnenstange eingesetzt. OpenVZ erlaubt sehr einfaches Over-Provisioning von Ressourcen innerhalb des Hosts, und wird dazu auch aufgrund seiner Leichtgewichtigkeit (ein OpenVZ Virtual Environment kannst du dir ein bisschen wie ein "chroot on steroids" vorstellen - aus dem UID 0 halt auch nicht ausbrechen kann) oft verwendet. Es gibt jede Menge "versteckter" Constraints fuer Ressourcenverbrauch (Ressourcen sind dabei z. B. die Anzahl von Filedeskriptoren, Sockets, Prozesse, verschiedene Arten von Pages, etc.), die von OpenVZ-gepatchten Kernels speziell verwaltet und in /proc/user_beancounters einsehbar gemacht werden. Das Problem dabei ist, dass man ab und an das OpenVZ-Subsystem fragen muss (und schlimmer noch: wissen muss, dass man dort fragen muss - weil man dort, wo man sonst fragen wuerde, eine abweichende, falsche Antwort bekommt), ob man denn von Ressource X noch mehr in Anspruch nehmen duerfte. Beispiel: OpenVZ hat einen containerspezifischen numprocs-Beancounter, der die Anzahl der maximal in einem Container laufenden Prozesse beschraenkt. In Linux hast du dafuer normalerweise zwei andere Einstellungen: /proc/sys/kernel/pid_max (mehr Prozesse koennen im System nicht verwaltet werden), und das PAM-Session-spezifische ulimit (mehr Prozesse duerfen unter UID X nicht ausgefuehrt werden). Beides kann und wird dir unter OpenVZ verhagelt werden (fork() schlaegt fehl), wenn dich numprocs de facto staerker einschraenkt als die "herkoemmlichen" Schranken, obwohl du noch deutlich unter den Vorgaben letzterer liegst.

Unter KVM, Xen und VMWare hast du diese Laestigkeiten nicht, da sich das ganze System wie ein "vollwertiger" GNU/Linux-Host verhaelt. Die einzigen Ressourcen, um die du dich kuemmern musst, sind demnach Speicher, CPU-Zeit und diverses I/O. Die Micromanagement-Details a la OpenVZ koennen dir egal sein.

Ein OpenVZ-System erkennst du (afaik) immer daran, dass es ein Pseudofile namens /proc/user_beancounters gibt. Die anderen Virtualisierungsloesungen erkennt man z. B. _relativ_ zuverlaessig durch die am PCI-Bus registrierten (emulierten) Geraete, bzw. an den im Gast geladenen Treibern.

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Wir hatten auch eine Weile Kundensysteme in OpenVZ-Containern laufen, und immer wieder mal produzierten da Tasks, die eigentlich überhaupt nicht fehlschlagen "können", obskure Fehler, meistens weil sie für irgendwas keinen Speicher allozieren können. Man kann dann sicher wieder an noch obskureren Parametern herumdrehen und hoffen, dass es dann nicht mehr passiert. Aber wenn solche Dinge immer nur alle paar Monate auftreten, ist es auch schwer zu beurteilen, ob eine bestimmte Änderung geholfen hat oder nicht.

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Danke Colo und Ringding für die ausführliche Info!

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14592
+1
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz