立即释放内核缓存可缓解内存占用过高导致的卡顿,执行sync && echo 3 > /proc/sys/vm/drop_caches后可用内存显著上升;配合调低swappiness至10、清理journald日志及终止atdhelper等高占内存进程效果更佳。

麒麟系统内存占用过高导致程序卡顿、响应迟缓,常见于连续运行超3天的办公终端,此时可用内存持续低于1.5GB但无进程异常占用,说明是内核缓存堆积而非真实内存泄漏。
立即释放内核缓存(最常用)
按下Ctrl+Alt+T打开终端→输入su并回车→输入root密码获取管理员权限。
执行同步并清空三类缓存:【sync && echo 3 > /proc/sys/vm/drop_caches】。这一步必须先sync,否则正在写入磁盘的数据可能丢失;echo 3会同时清PageCache、dentries和inodes,比echo 1或2更彻底。
验证效果:输入free -m,观察available列数值是否明显上升——若增加500MB以上,说明缓存已成功释放。
按需选择性清理缓存类型
方法一:仅释放页缓存(适用于读密集型临时卡顿)
sync && echo 1 > /proc/sys/vm/drop_caches
方法二:仅释放目录项与索引节点缓存(适用于大量小文件操作后目录遍历变慢)
sync && echo 2 > /proc/sys/vm/drop_caches
注意:echo 1对浏览器、WPS等读取频繁的应用影响最小,适合在会议前快速提效。
配合日志清理降低缓存压力
第一步:限制journald日志总大小为100MB
journalctl --vacuum-size=100M
第二步:清空全局临时目录
rm -rf /tmp/* /var/tmp/*
第三步:手动截断超大文本日志(如kern.log、syslog)
find /var/log -type f -name "*.log" -size +100M -exec truncate -s 0 {} \;
检查并调低swappiness参数
① 查看当前值:
cat /proc/sys/vm/swappiness
② 临时调整为10(重启后恢复):
sudo sysctl vm.swappiness=10
③ 永久生效:
sudo nano /etc/sysctl.conf
在文件末尾新增一行:【vm.swappiness = 10】
保存后执行:sudo sysctl -p
内存≥16G时可直接禁用swap:sudo swapoff -a,并在/etc/fstab中注释掉swap行。
终止异常高内存占用进程
运行top命令,按Shift+M按内存使用率排序,找到持续占用>800MB且非wps、firefox、chrome的进程。
记下PID,执行:kill -9 PID
特别注意:若发现ATDHelper进程长期占用>1.2GB,应卸载AnyTxt Searcher工具,否则清理后几小时内会再次飙升。











