У меня есть много примеров процесса, выполняющегося на моем хосте, каждый, казалось бы, потребляющий большой объем памяти.использование памяти процессом linux
пс Окс на процессы дают мне следующую информацию
blah1 18634 0.0 0.4 131852 31188 pts/15 Ssl+ 00:27 0:00 myPgm
blah2 18859 0.0 0.3 131292 30656 pts/32 Sl+ 01:17 0:00 myPgm
blah3 19813 0.0 0.4 131960 31220 pts/44 Ssl+ 01:17 0:00 myPgm
blah4 20228 0.1 0.3 131728 31036 pts/54 Ssl+ 01:41 0:00 myPgm
blah5 20238 0.0 0.3 131688 30932 pts/20 Sl+ Nov15 0:00 myPgm
blah6 21181 0.0 0.3 131304 30632 pts/25 Sl+ Nov15 0:00 myPgm
blah7 21278 0.0 0.3 131824 31096 pts/61 Ssl+ Nov15 0:00 myPgm
blah8 21821 0.0 0.3 131444 30808 pts/7 Sl+ 00:54 0:00 myPgm
Так VSZ всегда вокруг 130 MB и RSS около 30 Мб. ртар для процессов имеют следующие данные: Для 18634:
mapped: 131852K writeable/private: 59692K shared: 28K
Для 21181:
mapped: 131304K writeable/private: 59144K shared: 28K
и аналогичные значения для других процессов, а также. Хост имеет 7 ГБ физической памяти. Время от времени у меня около 700 до 800 экземпляров того же процесса, что и на хосте. Я пытаюсь понять, сколько памяти каждый процесс потребляет в действительности. Если я беру «writeable/private» в качестве фактического использования памяти в каждом процессе, тогда 58 МБ для каждого процесса приведет к 45 ГБ (для 800 процессов), что является безумным. Может ли кто-нибудь объяснить, если я сделаю это неправильно и как следует делать расчет?
Также бесплатно -k дает
total used free shared buffers cached
Mem: 7782580 4802104 2980476 0 380192 1931708
-/+ buffers/cache: 2490204 5292376
Swap: 1048568 32 1048536
Похоже, не так много свопа используется, теперь где же память для каждого процесса взялось? Благодарю.
Спасибо за ваш ответ. Я знаю, что VSZ не является фактической памятью, используемой каждым отдельным процессом, поэтому я суммировал конфиденциальную/записываемую память (предполагая, что это может быть фактическое использование), и даже это кажется слишком высоким. Я рассмотрю статью, которую вы связали. – broun