caching+caching+免费= 3,588,092(3.4G)但我仍然可以使用10G内存(不使用交换)。 这是内存泄漏问题吗? 这样做后,泄漏的内存可以回来?
谢谢
[root@dev001 ~]# free total used free shared buffers cached Mem: 32877844 31422864 1454980 0 1358500 774612 -/+ buffers/cache: 29289752 3588092 Swap: 1048568 67984 980584 [root@dev001 ~]# mkdir /mnt/ramdisk [root@dev001 ~]# mount -t tmpfs -o size=10g tmpfs /mnt/ramdisk [root@dev001 ~]# cd /mnt/ramdisk/ [root@dev001 ramdisk]# dd if=/dev/zero of=1g bs=1024 count=$((1024*1024*10)) 10485760+0 records in 10485760+0 records out 10737418240 bytes (11 GB) copied, 20.0645 s, 535 MB/s [root@dev001 ramdisk]# ls -lh total 10G -rw-r--r-- 1 root root 10G Jul 26 21:09 1g [root@dev001 ramdisk]# free total used free shared buffers cached Mem: 32877844 32630940 246904 0 792364 10901876 -/+ buffers/cache: 20936700 11941144 Swap: 1048568 67984 980584 [root@dev001 ~]# umount /mnt/ramdisk [root@dev001 ~]# free total used free shared buffers cached Mem: 32877844 22128348 10749496 0 792416 416160 -/+ buffers/cache: 20919772 11958072 Swap: 1048568 67984 980584 [root@dev001 ~]# free total used free shared buffers cached Mem: 32877844 22127372 10750472 0 792432 416160 -/+ buffers/cache: 20918780 11959064 Swap: 1048568 67984 980584
首先,build议阅读http://www.linuxatemyram.com/,因为它总是帮助理解Linux内存pipe理。
也许你应该保持这个有趣的概念是“可用”和“不可用”的记忆。 可用内存。 缓冲区/caching使用的内存也可以使用,但如果没有理由,内核不会释放内存。 当你创build了10GB的虚拟硬盘时,它可能会释放一些缓冲区或caching对象,所以当虚拟硬盘被破坏时,你可以获得更多的内存(尽pipe它总是“可用”)。 我希望这有助于了解内存pipe理(但认真,阅读上面的链接:D)
作为最后一个注意事项,您还可以使用slabtop获取有关内部内存使用情况的信息。