Linux 下清理系统缓存并释放内存
当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching
因此我们很有必要手动清理系统缓存释放内存。
我们在清理缓存前应该先
sync下
因为系统在操作的过程当中,会把你的操作到的文件资料先保存到buffer中去,因为怕你在操作的过程中因为断电等原因遗失数据,所以在你操作过程中会把文件资料先缓存。
所以我们在清理缓存先要先把buffe中的数据先写入到硬盘中,sync命令
sync
手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)
最后,输入手动释放内存的命令
echo 3 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存
free -h
free -h #看内存是否已经释放掉了。
total——总物理内存
used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
free——完全未被使用的内存
shared——应用程序共享内存
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached——缓存,用于已打开的文件
补充更新:2018.06.27
1.Linux 磁盘空间清理
执行 lsof | grep deleted发现有大量刚刚删除文件的进程存在,kill掉进程(或者重启进程) OK
2. 用du检查发现各目录占用的空间:
3.文件恢复问题
参考 https://blog.csdn.net/dutsoft/article/details/51248761
4.快速定位较大文件目录并清理硬盘
分以下步骤进行:
1)查看磁盘信息:df -lh
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 769M 68M 702M 9% /run
/dev/sda6 265G 252G 0 100% /
tmpfs 3.8G 126M 3.7G 4% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/loop0 87M 87M 0 100% /snap/core/4830
/dev/loop1 87M 87M 0 100% /snap/core/4650
/dev/loop2 254M 254M 0 100% /snap/electronic-wechat/7
/dev/loop3 198M 198M 0 100% /snap/polarr/3
/dev/loop4 87M 87M 0 100% /snap/core/4917
tmpfs 769M 100K 769M 1% /run/user/1000
可以看到系统硬盘/dev/sda6 占用100%了
2)循环定位最大文件目录:du -h --max-depth=1
显然最大的文件目录在/home下
接着,循环定位:
可以看到,最大的文件其实在 ~/.local/share/Trash 下,而这个正是LInux下的垃圾箱(可以理解为windows回收站)
平常想清理的话直接使用
sudo rm -rf ~/.local/share/Trash
最终我们成功清理了121G 的垃圾占用
3)定位最大文件
ls -lhS
4)确认删除的文件是否仍被占用
/usr/sbin/lsof |grep deleted
根据第二列的pid,输入 kill -9 xxxx 杀掉进程xxxx
/dev/loop 100%的时候清理:
我们可以看到图中的loo0-loop11占用100%,我们只要清理掉一下就可以了.
命令:
sudo apt autoremove --purge snapd
Linux 下清理系统缓存并释放内存相关推荐
- linux下清理系统垃圾
Ubuntu Linux与Windows系统不同,Ubuntu Linux不会产生无用垃圾文件,但是在升级缓存中,Ubuntu Linux不会自动删除这些文件,今天就来说说这些垃圾文件清理方法. 1, ...
- linux跑程序占用缓存过多释放内存echo 3 > /proc/sys/vm/drop_caches
在跑pytorch时出现了占用内存过多的问题,当然这个问题可以通过调小num_workers解决,不过还有手动解决办法就是释放内存,命令如下: echo 3 > /proc/sys/vm/dro ...
- linux proc 自动清理,Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches
Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches 频繁的文件访问会导致系统的Cache使用量大增 $ free -m total used free shared ...
- Linux下清理缓存
Linux下清理缓存 如果感觉手动清除缓存有点慢的话,可以写一个定时清除缓存的脚本 1.查看缓存 free -h 2.清理缓存 [root@hecs-360960 kafka]# sync [root ...
- Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches
Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches 频繁的文件访问会导致系统的Cache使用量大增 $ free -m total used free shared ...
- linux清空tomcat缓存文件,Linux环境下清理Tomcat缓存
Linux环境下清理Tomcat缓存 1.进入tomcat/bin目录下,执行sh shutdown.sh命令关闭tomcat. 2.然后执行命令 ps -aux | grep tomcat 命令,查 ...
- Linux登录安全及用户操作审计 ,linux下清理日志脚本
一.合理使用Shell历史命令记录功能 Linux下可通过history命令查看用户所有历史操作记录,同时shell命令操作记录默认保存在用户目录下的.bash_history文件中,有时候***会删 ...
- java 收集系统资源_方法:Linux 下用JAVA获取CPU、内存、磁盘的系统资源信息
CPU使用率: InputStream is = null; InputStreamReader isr = null; BufferedReader brStat = null; StringTok ...
- linux 如何查看属性,linux 下查看系统属性
linux 下查看系统属性 (2009-06-28 19:01:34) 标签: linux 杂谈 分类: OS linux下查看系统属性 1.查看cpu信息 查看所有cpu信息:cat /proc/c ...
最新文章
- 【实战篇】| 小鹿教你用动态规划撩妹的正确方式
- android 监听webView滑动距离和标题栏颜色渐变
- GoldenGate 之 Bounded Recovery说明
- 打孔屏+屏下指纹!这届iPhone全是安卓玩剩下的
- 洛谷 4933 洛谷10月月赛II T2 大师
- Microsemi Libero使用技巧5——使用FlashPro生成stp程序文件
- 世界超长经典名车荟萃
- PDF带目录导出java_itextpdf为pdf文件添加目录(可跳转)
- [每日一氵] 正则表达式以x开头,以x结尾的字符串
- Java多线程由易到难
- Ubuntu安装N卡驱动
- linux 创建gpt分区,parted创建GPT分区
- iphone app 的图标上被自动添加一层半透明遮罩(玻璃效果),小米3这样的高分屏icon不生效,怎么破?
- 泛融等多家业界权威通力合作,联合信通院发布《区块链供应链金融白皮书》
- 云效部署应用失败问题排查
- Linux 离线安装.net sdk
- 微信小程序体验版ios白屏 安卓报错 {“errMsg“:“hideLoading:fail:toast can‘t be found“}
- 如何查看备份记录及删除之前的备份记录
- 网络课堂开发,让山村孩子学到更多知识
- 【python实例6.5】一篇文章让你弄懂政府工作报告词云~总结笔记