Действительно ли возможно ограничить кэш-память процессом?

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

Так другие процессы, заставляющие память работать.

htop управляют показавшей кэш-памятью как 29 ГБ в Метрах.

Кто-либо может помочь получить решение для этого?

0
задан 12 March 2015 в 09:17

1 ответ

Нет никакой проблемы, таким образом, Вы ничего не должны делать.

вопрос неправильно понимает, как системный кэш работает. Системный кэш не занимает память, таким образом, предотвращающую его используемый процессами. Это только занимает доступную память. Как только та память больше не доступна, потому что процесс выделил ее, она больше не будет использоваться системным кэшем.

ниже отредактированная форма ответа, который я сделал к различный вопрос :

, Как Linux использует RAM (очень упрощенный)

, Каждое приложение может использовать часть Вашей памяти. Linux использует всю в других отношениях незанятую память (за исключением нескольких последних Мбит) как "кэш". Это включает кэш страницы, inode кэши, и т.д. Это - хорошая вещь - она помогает вещам скорости "куча". И запись в диск и чтение из диска могут быть ускорены очень кэшем.

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

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

Так, когда инструмент относится к "свободной" RAM, необходимо разъясниться, включает ли это кэш как "свободный" или нет. Кэш должен считаться "свободным", даже при том, что инструменты такой как ps и free не включают его в "свободное" количество.

Это не ситуация, которая характерна для Linux - все современные операционные системы прокладывают себе путь. Различные операционные системы могли бы просто сообщить о свободной RAM по-другому: некоторые включают кэш как часть того, что они считают "свободными", и некоторые не могут.

, Когда Вы говорите о свободной RAM, это намного более значимо для , включают кэш, потому что это практически свободно - это доступно, должен любой запрос приложения это. На Linux free команда сообщает о нем оба пути - первая строка включает кэш в используемый столбец RAM, и вторая строка включает кэш (и буферы) в бесплатном столбце.

0
ответ дан 3 August 2019 в 12:59

Другие вопросы по тегам:

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