Назад | Перейти на главную страницу

Как монитор системы gnome рассчитывает объем используемой памяти?

Как монитор системы gnome рассчитывает объем используемой памяти? Я склонен доверять значениям, отображаемым системным монитором, потому что они согласованы и согласуются с объемом оперативной памяти, используемой при запуске тестового приложения. Однако, когда я сравниваю эти значения с числами, отображаемыми в / proc / meminfo, я вообще не вижу связи. В настоящее время у меня на ноутбуке 3,5 ГБ оперативной памяти, а объем используемой памяти составляет 814 МБ. С другой стороны, / proc / meminfo показывает следующее:

MemTotal:        3715348 kB
MemFree:          923216 kB
Buffers:          154144 kB
Cached:          1804380 kB
SwapCached:            0 kB
Active:          1190432 kB
Inactive:        1331876 kB
Active(anon):     609064 kB
Inactive(anon):    83176 kB
Active(file):     581368 kB
Inactive(file):  1248700 kB
Unevictable:          32 kB
Mlocked:              32 kB
SwapTotal:       2104476 kB
SwapFree:        2104476 kB
Dirty:               132 kB
Writeback:             0 kB
AnonPages:        563820 kB
Mapped:           137208 kB
Shmem:            128456 kB
Slab:             108932 kB
SReclaimable:      77224 kB
SUnreclaim:        31708 kB
KernelStack:        3000 kB
PageTables:        27924 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3962148 kB
Committed_AS:    1870184 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      379280 kB
VmallocChunk:   34359259364 kB
HardwareCorrupted:     0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        8688 kB
DirectMap2M:     3840000 kB

Сравните, что показывает системный монитор, с $ free -m

Сумма, показанная системным монитором как «используется», - это сумма во второй строке вывода от free. AFAIK, это фактически используемый объем оперативной памяти, исключая то, что кэшировано. free -m часто гораздо больше отображается как «использованное» (первая строка вывода), потому что оно включает то, что используется кешем. Это не обязательно плохо, поскольку пустая / неиспользуемая оперативная память - это потраченная впустую ОЗУ; лучше пусть он «используется» в качестве кеша, чем остается пустым.