释放缓存内存:
linux 主机频繁存取文件后,物理内存很快会被用光,当程序结束后,内存不会被正常释放,而是一直作为caching,因此我们需要手动清理系统缓存从而释放内存。
1)系统在操作的过程当中,会把操作到的文件资料先保存到buffer中去,所以在清理缓存前先要把buffe中的数据先写入到硬盘中(sync 命令确保文件系统的完整性,将所有未写的系统缓冲区写到磁盘中)
$ sync
2)释放内存
$ echo 1 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存
3)查看内存
$ free -h
total——总物理内存
used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
free——完全未被使用的内存
shared——应用程序共享内存
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached——缓存,用于已打开的文件
清理磁盘/删除系统文件:
1)查看磁盘信息
$ df -h
2)查看文件占用磁盘大小,找到较大的文件目录
$ cd / && du -sh *
3)清理 /var/log 目录下的日志文件,如清理auth.开头的日志文件
$ cd /var/log
$ for i in `du -sh auth.* | awk '{print $2}'`;do echo '' > $i;done