Я узнал и всегда думаю, что свободная память Linux - это «свободная» от «- / + буферов / кеша». Вы можете получить эти знания на многих сайтах. Значение строки буферов / кеша в выводе free http://www.linuxatemyram.com/
[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
Хотя в эти дни я обнаружил, что моему серверу не хватает памяти, но когда мы делаем это, память возвращается. Кто-нибудь может ответить, почему?
Кажется, что свободная память - это не просто "свободная" от "- / + буферов / кеша"
Спасибо
Используется - это сумма буфера + кеша и фактического использования системной памяти. В вашем случае, когда вы пытаетесь смонтировать свою память как ramdisk на локальный, он взял память из кеша. Если вы заметили, что размер кеша уменьшается после размонтирования этого раздела, потому что эта кеш-память снова становится свободной памятью.