Мой компьютер (который выполняет Сервер Ubuntu 16.04) в настоящее время использует 13,4 ГБ из 15,4 ГБ RAM (согласно htop), но я изо всех сил пытаюсь понять то, что использует ту память.
free -m
отчеты:
total used free shared buff/cache available
Mem: 15733 13781 1083 22 868 1592
Swap: 71524 430 71094
top
показывает самый высокий процесс использования памяти взятием 6,8% памяти и следующего самого большого взятия 0,4% памяти.
Если я использую ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n
, это показывает (тот же) процесс самого высокого использования памяти взятием 1 104 МБ RAM, которая звучит о прямо по сравнению с top
.
Если я суммирую все значения каждого процесса, о котором сообщает PS:
ps aux | awk '{sum=sum+$6}; END {print sum/1024 " MB"}'
это сообщает о в общей сложности 1,8 ГБ используемой RAM.
Так ps
считает, что я использую 1,8 ГБ RAM, но free
и htop
оба считают, что я использую более чем 13 ГБ RAM. available
столбец в free
вывод является слишком маленьким для составления этого различия.
Что я пропускаю?
Отредактируйте 20.01.2017 13:27 Z
/usr/bin/free -h
отчеты:
total used free shared buff/cache available Mem: 15G 13G 417M 22M 1.1G 1.2G Swap: 69G 432M 69G
slabtop производят:
$ sudo slabtop -s c -o | head -n 20
Active / Total Objects (% used) : 16552394 / 17903627 (92.5%)
Active / Total Slabs (% used) : 841391 / 841391 (100.0%)
Active / Total Caches (% used) : 109 / 155 (70.3%)
Active / Total Size (% used) : 9510904.12K / 9753117.86K (97.5%)
Minimum / Average / Maximum Object : 0.01K / 0.54K / 18.56K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
1764956 1764890 0% 1.08K 120388 29 3852416K zio_cache
126780 126308 0% 16.00K 68205 2 2182560K zio_buf_16384
1797996 1797996 100% 0.85K 100920 18 1614720K dnode_t
1952240 1833842 0% 0.50K 122015 16 976120K kmalloc-512
62255 61308 0% 8.00K 20096 4 643072K kmalloc-8192
1999648 1968319 0% 0.28K 71416 28 571328K dmu_buf_impl_t
1764892 1764892 100% 0.26K 56932 31 455456K sa_cache
2028978 1981994 0% 0.19K 96618 21 386472K dentry
23113 23021 0% 12.00K 11557 2 369824K zio_buf_12288
694975 647514 0% 0.31K 27799 25 222392K bio-1
1660096 1592262 0% 0.12K 51878 32 207512K kmalloc-128
131376 91798 0% 1.00K 8211 16 131376K ecryptfs_inode_cache
90888 89352 0% 1.05K 3035 30 97120K ext4_inode_cache
$ sudo slabtop -s c -o | tail -n +8 | awk '{sum=sum+$7}; END {print sum/1024 " MB"}'` reports:
11484.9 MB
$ sudo slabtop -s c -o | tail -n +8 | grep zio | awk '{sum=sum+$7}; END {print sum/1024 " MB"}'
6222.28 MB
Таким образом, похоже, что это - что-то, чтобы сделать ZFS от того, что я могу сказать - ZFS занимает 6 ГБ RAM и существует приблизительно 5 ГБ, используемых материалом non-zio в выводе slabtop.
В моем случае некоторая память зарезервирована для hugepage. Рассмотрение hugepages зарезервировало память, это складывает.
controller-0:/home/wrsroot# grep -i huge /proc/meminfo
HugePages_Total: 1000
HugePages_Free: 488
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB