怎样查看阿里云服务器系统盘哪些文件占用了空间?

查看阿里云服务器系统盘占用空间,可以通过以下步骤进行排查:


一、快速定位大文件/目录

1. 使用 du 命令(推荐)

# 查看根目录下各文件夹大小(按大小排序,显示前10个)
sudo du -sh /* 2>/dev/null | sort -rh | head -10

# 深入分析具体目录(如 /var、/usr)
sudo du -sh /var/* 2>/dev/null | sort -rh | head -10

# 查找当前目录下大于100MB的文件
sudo find / -type f -size +100M 2>/dev/null | xargs ls -lh

2. 使用 ncdu 工具(交互式可视化)

# 安装 ncdu(CentOS/Alibaba Cloud Linux)
sudo yum install ncdu -y

# Ubuntu/Debian
sudo apt install ncdu -y

# 扫描根目录(按大小降序,可交互浏览)
sudo ncdu /
  • 按 n 按文件名排序,s 按大小排序,d 删除选中文件(谨慎使用)。

二、检查常见占用空间大的目录

1. 日志文件(/var/log)

# 查看日志目录大小
sudo du -sh /var/log

# 清理旧日志(谨慎操作,建议先备份)
sudo journalctl --vacuum-time=7d  # 清理7天前的系统日志
sudo find /var/log -type f -name "*.log" -mtime +7 -delete

2. 缓存文件(/var/cache)

# 清理 yum/apt 缓存
sudo yum clean all      # CentOS/Alibaba Cloud Linux
sudo apt clean          # Ubuntu/Debian

3. 容器相关(如果使用 Docker)

# 查看 Docker 占用
docker system df

# 清理无用镜像、容器
docker system prune -a

4. 临时文件(/tmp)

sudo du -sh /tmp

三、使用 df 查看磁盘整体使用情况

# 查看磁盘挂载点及使用率
df -h

# 查看 inode 使用情况(小文件过多可能导致 inode 耗尽)
df -i

四、特殊场景排查

1. 已删除文件仍占用空间(进程未释放)

# 查看被删除但未释放的文件
lsof | grep deleted

# 重启相关进程或系统释放空间
sudo systemctl restart <服务名>

2. 大文件查找(结合 find)

# 查找大于500MB的文件(全盘扫描,耗时较长)
sudo find / -type f -size +500M 2>/dev/null | xargs du -h | sort -rh

五、自动化清理建议

  1. 日志轮转:配置 logrotate 自动切割日志。
  2. 监控告警:在阿里云控制台设置磁盘使用率告警(云监控 → 报警规则)。
  3. 定期清理脚本示例:
    #!/bin/bash
    # 清理日志(保留最近7天)
    find /var/log -type f -mtime +7 -delete
    # 清理临时文件
    rm -rf /tmp/*
    # 清理包管理器缓存
    yum clean all 2>/dev/null || apt clean 2>/dev/null

注意事项

  • 谨慎删除:系统文件勿随意删除,尤其是 /usr、/lib、/etc 等目录。
  • 备份重要数据:清理前建议对关键数据备份(可使用阿里云快照功能)。
  • 容器/应用日志:若运行Java/Python应用,检查应用日志输出目录。

通过以上步骤,你可以快速定位并处理系统盘空间占用问题。如果问题仍存在,可通过阿里云控制台的 云助手 或 Workbench 远程执行命令进一步排查。

云服务器