Я просматривал системный монитор в Linux и заметил, что Firefox использует 441 МБ памяти, а некоторые другие приложения используют 274, 257, 232 и т.д. (Добавляя более 3 ГБ виртуальной памяти). Поэтому я переключаюсь на вкладку "Ресурсы" и там говорится, что я использую 462 МБ памяти и не касаюсь свопинга. Я не совсем понимаю. Что означает объем виртуальной памяти, если программы фактически не используют его. Я подумал, может быть, память, которую они запросили, но не используют, но как ОС узнает об этом? Я не могу думать ни о какой функции "мне может понадобиться столько памяти в будущем" ..
2 ответа
Во-первых, общая память не очень (?) правильно посчитано сверху. Во-вторых, да, программа запрашивает права на память, а затем использует ее, но она может никогда не коснуться, и ОС знает об этом. Нет проблем для каждого приложения, чтобы выделить все оперативной памяти и подкачки, если они не пытаются его использовать :-D> Мы не в мире Mac OS Classic (на самом деле, это как старый Ram Удвоитель работал, позволяя вам использовать разницу между выделенным и использованным).
Вы когда-нибудь пытались уволить "vmstat"?? если только ты не поможешь себе и запустишь его из командной строки так:
vmstat
И, пожалуйста, RTFM для уменьшения вашей задолженности. Я видел пару интересных флагов на странице руководства ... которые могут помочь вам понять.Плюс, если вы действительно обеспокоены потреблением памяти Firefox .. тогда взгляните на это решение .. здесь
http://unixbhaskar.blogspot.com/2009/10/firefox-saga-on-opensuse.html
и здесь
http://unixbhaskar.blogspot.com/2010/02/cleanup-firefox-clogging-by-pruning-its.html
И если вам действительно интересно знать внутренности Linux для динамического распределения памяти, читайте здесь
http://www.ibm.com/developerworks/linux/library/l-linux-slab-allocator/index.html
И используйте один двоичный файл под названием "pmap". Используйте его как этот pmap (идентификатор процесса), чтобы узнать, как это конкретное приложение использует память внутри.Чтобы узнать больше о "man pmap".
Надеюсь, я дал вам много понимания.
Ура!