Fork me on GitHub

Linux服务器硬盘占用率高

磁盘占用率90%

image
为了防止磁盘占满导致系统崩溃,需要清理空间

排查

#查看挂载的各磁盘占用率
df -h

# 只统计根分区自身使用的目录空间大小,不包含其他挂载上来的子分区
du -h --max-depth=1 --one-file-system / 2>/dev/null | sort -hr
#查看根分区的文件大小
ll -h /

发现是虚拟内存占用20G

image

#查看是否启用swap虚拟内存
free -h
#查看虚拟内存及其文件位置
swapon --show

image

解决方案一:关闭虚拟内存(不推荐)

经过free -h查看swap使用率为0,内存足够大的情况下可以关闭虚拟内存。但是遇到大型编译、Docker 爆容器; MySQL、Java 突发吃内存;系统内核或者偶发的进程泄漏时,有 swapfile,起码系统不会因为“爆内存”直接挂掉,最多就是稍微卡一下。

#关闭swap虚拟内存
sudo swapoff /swapfile
#删除虚拟文件
sudo rm -f /swapfile
#注释掉 /swapfile none swap sw 0 0 这一行
sudo vi /etc/fstab

把 fstab 里的 swapfile 挂载行注释掉或删除,避免下次重启自动挂载

解决方案二:改小虚拟内存(推荐)

#1.关闭swap虚拟内存
sudo swapoff /swapfile

#2.删除原来的 swapfile
sudo rm -f /swapfile

#3.重新创建指定大小的 swapfile
sudo fallocate -l 4G /swapfile
#如果 fallocate 不支持,可以用通用的创建方法
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

#4.设置正确权限
sudo chmod 600 /swapfile

#5.格式化成 swap
sudo mkswap /swapfile

#6.启用swap
sudo swapon /swapfile

#7.确认 swap 状态
swapon --show
free -h

#8.修改 /etc/fstab 保证重启自动挂载;添加如下内容: /swapfile swap swap defaults 0 0
sudo vi /etc/fstab

image

posted @ 2025-06-23 21:26  秋夜雨巷  阅读(57)  评论(0)    收藏  举报