相关疑难解决方法(0)

从免费命令中理解"缓冲区"和"缓存"

之前已经问过这个问题,但是不想再次更新同一个线程,因为它是一个旧线程.

想要从free命令输出中的"缓冲区"和"缓存"列中澄清自己.

这就是我的理解......

缓冲区是数据存储在内存中但尚未刷新到磁盘的东西.数据将由bdflush守护进程定期刷新到磁盘,或者我们可以通过运行sync命令手动执行.

另一方面,缓存是程序/数据,它被加载到内存中但保留在内存中,因此如果再次需要,它将很快可用.

为了理解缓冲区的概念,我尝试了以下实验......

这是free我桌面上的命令读取

[zama@localhost ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          2897        465       2431          0         30        230
-/+ buffers/cache:        204       2692
Swap:         4000          0       4000

[zama@localhost ~]$ sync

[zama@localhost ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          2897        466       2431          0         30        230
-/+ buffers/cache:        205       2691
Swap:         4000          0       4000

执行sync命令后,我无法看到缓冲区减少.

接下来我尝试了以下内容...试图将一个巨大的文件写入磁盘.

[zama@localhost ~]$ dd if=/dev/zero of=test bs=1024k 

正如预期的那样,缓存的值应该增加并且free正在确认这一点.

@localhost …

memory linux-kernel free-command

20
推荐指数
1
解决办法
3万
查看次数

标签 统计

free-command ×1

linux-kernel ×1

memory ×1