linuxfree命令介绍
1
2
3
4
[root@localhost~]#free-m
totalusedfreesharedbuff/cacheavailable
Mem:37702283270112713285
Swap:819008190
第一行Mem,表示数学显存统计
第二行-/+buffers/cache:
(1)used实际使用的显存如何安装LINUX,等于第一行的used-buffers-cached
(2)free实际可用显存,等于第一行的free+buffers+cached
显存占用估算公式used/(used+free)
第三行Swap表示交换区的使用情况,也就是我们一般所说的虚拟显存。
free常用参数
在Linux系统下,我们通常不须要去释放显存,由于系统早已将显存管理的挺好。而且凡事也有例外,有的时侯显存会被缓存占用掉,造成系统使用SWAP空间影响性能,此时就须要执行释放显存(清除缓存)的操作了。
Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的转换)、BufferCache(针对c盘块的读写)和PageCache(针对文件inode的读写)进行缓存操作。
然而在进行了大量文件操作过后linux swap空间释放,缓存会把显存资源基本用光。但实际上我们文件操作早已完成,这部份缓存早已用不到了。
这个时侯,我们莫非只能眼睁睁的看着缓存把显存空间抢占掉么?
所以,我们还是有必要来自动进行Linux下释放显存的操作,虽然也就是释放缓存的操作了。
要达到释放缓存的目的,我们首先须要了解下关键的配置文件/proc/sys/vm/drop_caches。
这个文件中记录了缓存释放的参数,默认值为0linux嵌入式开发,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的涵义:
晓得了参数后,我们就可以按照我们的须要,使用下边的指令来进行操作。
首先我们须要使用sync指令,将所有未写的系统缓冲区讲到c盘中linux swap空间释放,包含已更改的i-node、已延后的块I/O和读写映射文件。否则在释放缓存的过程中,可能会遗失未保存的文件。
1
#sync
接出来,我们须要将须要的参数写进/proc/sys/vm/drop_caches文件中,例如我们须要释放所有缓存,就输入下边的命令:
1
#echo3>/proc/sys/vm/drop_caches
此指令输入后会立刻生效,可以查询现今的可用显存显著的变多了。
要查询当前缓存释放的参数,可以输入下边的指令:
1
cat/proc/sys/vm/drop_caches
1.清除前显存使用情况
1
free-m
2.开始清除
1
echo1>/proc/sys/vm/drop_caches
3.清除后显存使用情况
1
free-m
4.完成
查看显存条数命令:
1
dmidecode|grep-A16"MemoryDevice$"