当我们使用free命令检查系统内存使用情况时,我们会发现:
#free -m
已使用的可用共享缓冲区总数已缓存内存:24359 11240 13119 0 0 10706-/ +缓冲区/缓存:533 23826交换:4095 0 4095
1、总数=已用+免费
2、 cached相对较大,甚至我也遇到了剩余内存仅为7M的情况。此时,缓存非常大,基本上接近总数。此时,打开或传输文件时可用内存很小。该程序可能会使用交换分区,因此您会发现计算机的速度变慢了
Cached主要负责缓存文件的使用。较大的日志文件会导致缓存区域的内存增加,并且内存用完。

Free中的缓冲区和缓存:(它们都占用内存):
buffer:作为缓冲区高速缓存的内存,它是块设备的读写缓冲区
cache:作为页面缓存的内存,是文件系统的缓存
如果缓存的值很大,则意味着缓存中有很多文件。
为了提高磁盘访问效率,Linux进行了一些仔细的设计。除了缓存dentry(用于VFS以加速文件路径名到inode的转换)之外,它还采用两种主要的Cache方法:Buffer Cache和Page Cache。前者用于读取和写入磁盘块,而后者用于读取和写入文件索引节点。这些高速缓存有效地缩短了I / O系统调用(例如读取,写入,getdents)的时间。 “
如何解决导致机器速度降低的问题?

罪魁祸首是内存被缓存,而空闲空间基本消失了。
所以我们应该考虑如何释放缓存的内存
重启机器肯定可以解决,但是我们绝对不能使用这种方法
共有三种释放方式(系统默认值为0,释放后可以改回0):
要释放页面缓存:回显1> / proc / sys / vm / drop_caches
要释放牙科和i节点:回显2> / proc / sys / vm / drop_caches

要释放页面缓存,牙科和索引节点:回显3> / proc / sys / vm / drop_caches
经常使用rsync传输大量数据的朋友可能会遇到类似的情况:首先,过去传输大量文件,然后传输的数据虽然不大,但速度非常慢,而且慢。在另一台服务器上看到它。我发现在终端中输入命令不会感到缓慢,但是当查看内存使用情况时,我发现可用内存非常小,几乎接近零。我认为可能是由于内存被缓存所致。
为什么我们要释放缓存的内存?因为当我们使用rsync传输大量数据时,Linux系统将一些文件信息缓存在内存中,这可以减少常用文件的磁盘IO时间。当我们传输一批文件时,我们必须传输另一文件。过去,批处理文件是完全不同的文件,或者文件的内容已更改。内存中缓存的文件不是我们所需要的。我们需要清除缓存并释放内存以传输下一批文件。这时候,我们很渴望。无需查看更多内存。
在这种前提下,我们有必要亲自手动清除缓存以释放更多可用内存
注意:在清除缓存之前,我们需要在Linux系统中执行sync命令,以将尚未写入磁盘的缓存内容写入磁盘
有关其他介绍,请参阅:
解决并解决由于Linux服务器缓存URL占用过多内存而导致系统内存不足的问题:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-360484-1.html
怎么就不能科学一点地去想想失足妇女合法化呢