2010-11-23 1 views
5

Более конкретно: я хочу найти эту информацию изнутри программы, желательно как раз перед тем, как она начнет меняться, чтобы я мог реагировать. До сих пор я нашел:Как получить информацию о Linux, независимо от того, меняет ли моя программа или нет?

  • Информация внутри /proc, что не очень полезно

  • mincore системный вызов, который, кажется, будет доступна на Linux и BSD, но требует от меня, чтобы пройти во всех страницах я нахожусь (может быть достаточно, но это немного утомительно)

Больше идей?

+0

В дополнение к мониторингу (который вы можете настроить для будильников), вы также можете взглянуть на/proc/sys/vm/swappiness, но это зависит от вашего приложения и того, что другое использует ваш компьютер. Возможно, вы также можете полностью отключить своп (если ваше приложение может работать с ситуациями OOM). – Zlatko 2010-11-23 18:07:29

+0

Это не имеет смысла. Я говорю о PyPy (который является интерпретатором python), который может торговать памятью для скорости. Вероятно, у него не будет привилегий для установления обманчивости. – fijal 2010-11-24 08:10:04

ответ

2

vmstat

Для запуска каждые 2 секунды, вы говорите "vmstat 2". Это дает выход как:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ 
r b swpd free buff cache si so bi bo in cs us sy id wa st 
0 0  0 16124 431352 439000 0 0  4  2 37 18 0 0 100 0 0 

«си» и «так» столбцы «своп-в» и «своп-аут». Swapd - сколько памяти в устройстве подкачки. Swapd должен быть стабильным, а si - равным нулю.

Помните:

Вы не должны действительно спросить: «моя программа подкачка» - в противоположность «является система подкачка». Программа может привести к тому, что другие могут поменяться местами - другие могут заставить вас поменять местами и т. Д. В любом случае, когда это произойдет - производительность d ... i..e ... s ....

Смежные вопросы