linux中cat dev sda,Linux之/dev/sda占用100%清理

0 背景

开发过程中,发现服务器/dev/sda6占满了,如下

$ df -h

Filesystem Size Used Avail Use% Mounted on

udev 126G 0 126G 0% /dev

tmpfs 26G 2.6G 23G 11% /run

/dev/sda6 160G 152G 54M 100% /

tmpfs 126G 1.1M 126G 1% /dev/shm

tmpfs 5.0M 4.0K 5.0M 1% /run/lock

tmpfs 126G 0 126G 0% /sys/fs/cgroup

/dev/sda1 361M 112M 227M 34% /boot

tmpfs 26G 32K 26G 1% /run/user/108

首先我们可以使用下边的指令来腾出一些空间

sudo apt-get autoclean #清理旧版本的软件缓存

sudo apt-get clean #清理所有软件缓存

sudo apt-get autoremove #删除系统不再使用的孤立软件

我们可以使用ncdu来查看文件夹的大小,一个可以替代du命令的工具,ncdu命令是对传统du命令功能上的增强,不需要像du那样输入大量的命令,就可以计算文件及目录大小并可以按照大小或文件名进行排序。

1 ncdu使用方法

安装方法

sudo apt install ncdu

可以使用以下的快捷方式

up, k — 向上移动光标

down, j – 向下移动光标

right/enter — 打开选定的目录

left, n — 按文件名排序(升序/降序)

s — 按文件大小排序(升序/降序)

C – 按项目数排序(升序/降序)

d – 删除选定的文件或目录

t — 排序时将目录放在文件前面

g – 以图形方式显示百分比

2 空间清理

通过ncdu工具,我们能定位到系统的/var/lib/docker目录有异常,比较大

6ed48922b60df13d08c7d58ac66d3e08.png

其中aufs目录和container目录中保存了docker的一些文件,可以使用下边的命令清理

$ sudo docker system prune -a

WARNING! This will remove:

- all stopped containers

- all networks not used by at least one container

- all images without at least one container associated to them

- all build cache

Are you sure you want to continue? [y/N] y

注意这一步会把没有运行的镜像和容器全部删掉,要谨慎使用

可以看到,清理后/dev/sda6已经有空间了

/dev/sda6 160G 112G 41G 74% /

还可以使用下边的脚本进一步清理日志文件

#!/bin/sh

echo "==================== start clean docker containers logs =========================="

logs=$(find /var/lib/docker/containers/ -name *-json.log)

for log in $logs

do

echo "clean logs : $log"

cat /dev/null > $log

done

echo "==================== end clean docker containers logs =========================="

清理后查看空间

/dev/sda6 160G 102G 50G 68% /

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值