统信uos系统卡顿但磁盘充足时,很可能是内核缓存(page cache、dentries、inodes)过度驻留导致可用内存偏低;可通过sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"释放可回收缓存,或配置vm.vfs_cache_pressure=200与vm.swappiness=10实现自动抑制。

统信UOS系统出现卡顿、响应迟滞但磁盘空间充足时,很可能是内核缓存(page cache、dentries、inodes)长期未回收所致,这类缓存由Linux内核自动管理,但有时会过度驻留,导致可用内存持续偏低,影响多任务切换与应用启动速度。
释放页面缓存、目录项和inode缓存
这一步直接触发内核丢弃所有可回收的缓存数据,不杀进程、不重启服务,仅清空内存中已加载但非活跃的文件副本。
按Ctrl + Alt + T打开终端。
输入以下命令并回车:sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"。【该操作需root权限,且仅释放可安全丢弃的缓存,不会影响正在运行的应用数据】
执行后无任何输出即表示成功;可通过free -h对比前后“available”值确认内存是否回升。
临时释放内存缓存(无需root)
普通用户也能触发轻量级缓存回收,适用于不想输密码、仅需小幅释放的场景。
在终端中执行:sync && echo 1 | sudo tee /proc/sys/vm/drop_caches 2>/dev/null。这会先同步脏页再仅释放页面缓存,比drop_caches=3更保守。
注意:此命令仍需sudo权限,但若系统禁用了普通用户sudo执行该路径,将静默失败——此时必须用第一种root方式。
配置自动内存缓存释放策略
某些长期运行的UOS设备(如数字标牌、工控终端)需避免缓存持续堆积,可通过调整内核参数实现被动抑制。
第一步:编辑sysctl配置文件 → sudo nano /etc/sysctl.d/99-drop-caches.conf
第二步:在文件中写入以下两行:
vm.vfs_cache_pressure = 200
vm.swappiness = 10
第三步:加载新配置 → sudo sysctl --system。【该操作立即生效,无需重启】
解释:vfs_cache_pressure设为200会让内核更积极回收dentry/inode缓存;swappiness=10大幅降低交换倾向,迫使内核优先释放缓存而非换出内存页。











