APC минимальный размер шм
Какое минимальное количество shm Space APC необходимо для правильной работы? В настоящее время я веду блог Wordpress на VPS, основанном на virtuozzo, и я не могу установить для ядра shm что-либо выше 32 МБ. Есть ли способ сказать APC использовать "нормальную" память вместо общей (у меня много оперативной памяти...)
Мой текущий apc.ini выглядит так, но apc сообщает, что использует всего 30 МБ (1 сегмент (ы) с 30.0 МБ (память mmap, блокировка мьютекса pthread)):
extension = apc.so
apc.enabled = 1
apc.shm_segments = 15
apc.num_files_hint = 2700
apc.user_entries_hint = 2700
apc.ttl = 7200
apc.user_ttl = 3600
apc.gc_ttl = 600
apc.cache_by_default = 1
apc.max_file_size = 2M
apc.stat = 1
3 ответа
Сам нашел решение:
По умолчанию apc теперь использует mmap для разделяемой памяти. Теоретически, mmap не должен быть привязан к максимальному размеру shm ядром, но, похоже, так оно и есть, по крайней мере, в средах с общими серверами, таких как virtuozzo. Также Mmap игнорирует apc.shm_segments
потому что он не будет создавать несколько анонимных файлов для отображения в памяти без маски, поэтому, если вы не установите apc.mmap_file_mask, это будет бесполезно.
Другой способ - перекомпилировать apc, используя --disable-apc-mmap
и вместо этого используйте разделяемую память IPC!
Используйте файлы apc.php из пакета APC, чтобы проверить, как APC использует память. Увеличивайте его, пока у APC не будет 20% свободной запасной памяти.
Один Wordpress с некоторыми плагинами может потребовать более 40M.
Может быть установлено ограничение на размер сегмента общей памяти, который вы можете запросить.
Однако вы можете добавить ряд таких сегментов для использования APC в конфигурации: apc.shm_segments=2