Свободный / Кэшируемый / Доступная память на Linux

Как насчет symlinking php файл к другому имени в каталоге сказать ln -s index.php cachedindex.php, наличие апача использует cachedindex.php для / и устанавливает заголовок кэша на этом. Позвольте платформе продолжать использовать index.php для всех других страниц.

Хотя, так как Вы работаете с разработчиком на этом, там причина, код php только производит соответствующий заголовок кэша, когда правильные опции установлены (в этом случае только, когда никакие опции не установлены)?

6
задан 2 June 2012 в 14:55
5 ответов

Вы должны были поместить весь вывод meminfo. Грязные страницы хранятся на диске, но они считаются кешем страниц и должны сбрасываться на диск в соответствии с требованиями.

Вкратце, то, что вы говорите, верно. При вычислении свободной памяти также учитывайте кеш и буфер, но не включайте грязные страницы в расчет.

И чтобы гарантировать, что у вас никогда не закончится память, ведите учетную запись для значения Committed_AS. Основываясь на этом значении, вы должны определить, следует ли увеличить объем оперативной памяти или уменьшить рабочую нагрузку.

1
ответ дан 3 December 2019 в 00:02

У меня был такой же опыт работы с Nagios, когда я использовал плагин check_mem.pl. Когда вы определяете фиксацию локона для критического, вам нужно использовать заглавную букву C вместо обычной c.

Примерно так:

command[check_mem]=/usr/lib/nagios/plugins/check_mem -w 10 -C 5 -f

Затем он учитывает кэшированную память и не отправляет предупреждения.

13
ответ дан 3 December 2019 в 00:02

Freemem is unallocated memory which is immediately available. This gets used when launching programs and normally you will will experience problems if this gets too low. Monitoring to ensure you have a few MB free should be sufficient. I monitor for 1 MB on my 32 MB OpenWrt router, and 10 MB on my Ubuntu severs. I also monitor swap usage as that will decrease as memory load goes up.

When programs start-up they usually don't use all the required memory initially. It is common for the virtual size of a program to be much larger than the resident (in memory) size. The remaining memory can be allocated from disk (code from the program image and libraries it utilizes) and swap (allocated but not used).

You will likely see significant performance issues if the cached memory gets too low. Depending on how swapping is coded and configured, inactive pages are likely to be swapped to make space for your program. This usually results in far less page swapping than you expect.

I would monitoring the cached memory to ensure performance of running programs rather than to ensure memory is available to start huge programs.

3
ответ дан 3 December 2019 в 00:02

Linux использует доступную память для кеширования и очищает ее, когда это необходимо. Вы можете освободить кэшированную память, когда захотите, запустив

sync; echo 3> / proc / sys / vm / drop_caches

-1
ответ дан 3 December 2019 в 00:02

Похоже, у вас нет проблем с памятью. Я считаю, что нагрузка на обе системы одинакова, верно. Если так, то при почти одинаковых обстоятельствах они будут потреблять такой же объем кэшированной памяти.

Похоже, у вас тоже все в порядке с частью Commit_AS. Во второй системе кэшированной памяти не так много, потому что в этом нет необходимости. Будучи системой управления виртуальной памятью на основе спроса, Linux довольно хорошо работает с памятью. Кэшированная память увеличивается по мере увеличения нагрузки на систему.

1
ответ дан 3 December 2019 в 00:02

Теги

Похожие вопросы