У меня есть эта ситуация с RAM и ПОДКАЧКОЙ в данный момент:
$ free -h
total used free shared buffers cached
Mem: 7,7G 7,5G 159M 100M 75M 5,9G
-/+ buffers/cache: 1,5G 6,1G
Swap: 7,9G 408M 7,5G
И я задавался вопросом...
Существует ли способ знать, какие программы/данные кэшируются RAM и/или от которого процесса они происходят из?
Заранее большое спасибо.
Править: для знания программ/данных в ПОДКАЧКЕ переходят по ссылке, предоставленной @xubu-tur.
Тот же вопрос задали по LinuxQuestions.org: http://www.linuxquestions.org/questions/linux-general-1/command-to-check-process-taking-high-cached-memory-927756/
важная часть ответа:
Кэш не связан с процессом по сути, он связан с вводом-выводом в Вашей системе.
Linux пытается кэшировать столько данных ввода-вывода, сколько это может. Если те данные должны быть считаны в будущем, это уже находится в устройстве хранения данных. Кэш является механизмом, чтобы не делать реальные операции ввода-вывода, поскольку реальный ввод-вывод к диску является очень медленным по сравнению только с получением его из памяти. Таким образом, высокое количество кэша вообще хорошо и ничто, чтобы касаться в.
Так, нет Вы не можете знать, какие программы или процессы находятся в кэше, becasue там нет таких объектов.
, Что можно найти, существует кэшируемый ввод-вывод, и как @bseiblod упомянут в его комментарии, можно найти решение того здесь: , Как можно сказать, кэшируется ли файл в памяти в Linux?