APC-Konfiguration auf Ubuntu 10.4. Problem mit apc.shm_size, apc.shm_segments und Apache
Habe ich gerade installiert APC-cache, um meine PHP-code auf meinem Ubuntu-VPS-server. Mit
sudo apt-get install php-apc
sudo /etc/init.d/apache2 restart
Dies funktionierte gut. Allerdings stoße ich auf einige Probleme der Erhöhung der chunk RAM zugewiesen APC. Wenn ich apc.php es gibt mir diese Informationen über die shared memory.
Shared Memory 1 Segment(s) with 30.0 MBytes (mmap memory, pthread mutex locking)
Obwohl ich konfiguriert
apc.shm_segments 3
Nicht die Standard-Einstellung
apc.shm_size 30
Zusätzlich habe ich das problem, dass sobald ich apc.shm_size
im apc.ini
oder php.ini
apache hängt sich auf-Neustart/anmutig und nicht kommen.
Meine Fragen:
1. Wenn der Speicher für APC apc.shm_size * apc.shm_segments
warum kann ich nur sehen, 90M?
2. Hat noch jemand das problem mit dem hängenden Apache auf Einstellung der apc.shm_size
? Wie würde ich das beheben?
Vielen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die kernel-max Größe shared memory. Auf debian-artigen Verteilung es ist ziemlich niedrig (und ubuntu ist ein debian-like).
Verändern Sie über sysctl.conf konnte dir helfen.? Holen Sie sich die aktuellen Wert mit:
Es ist ein Wert in Bytes.
Dies könnte erklären, apache-Absturz, wenn Sie eine zu große Zahl (aber Sie sollten etwas über Sie in Fehler.log).
Scheinen für diese Antwort, dass
apc.shm_segments
ist nicht immer von APC. Wir können sehen, einige Erklärungen hier: http://www.php.net/manual/fr/apc.configuration.php#94529:Aber wie gesagt, in diesem Kommentar, der über mehrere Segmente geteilt ist sicherlich am schlimmsten, wie mit einem großen. es gibt mindestens zwei große Anwendung, die macht starken Gebrauch von großen, gemeinsam genutzten Speicher und die braucht immer eine änderung an den kernel-Einstellungen, es ist Lack und PostgreSQL. Sowohl die Wahl der mit einer großen gemeinsamen segment, anstelle von mehreren.
kernel.shmmax = 134217728
leider ist dies nicht mein problem lösen. Eröffnet eine neue Frage, die Beschreibung der Probleme, die mehr im detail auf serverfaultScheint, wie ich das problem gefunden
Installiert eine alte version von
APC
auf meinem Rechner. In dieser versionapc.shm_size=30M
werden configuered ohne das M in der Größe des Speichers. So werden neue Versionen von APC verwendenapc.shm_size=30M
alte versionapc.shm_size=30
. Nachdem ich die änderung vorgenommen, Apache neu gestartet, ohne eine Panne.