故障發生原因
測試環境,之前用該機器做過docker-compose,后來有需要用到該機器上的docker環境,需要將舊的docker容器全部刪除,由於之前啟動是使用docker-compose啟動的,正常手段也應該使用該工具關掉容器。但是我用的是docker rm --force 命令,可能不知道系統哪根筋不對了吧
下面是現象
[root@localhost ~]# ls -bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
-bash: 無法為立即文檔創建臨時文件: 設備上沒有空間
tab補全功能不能使用,而且嚴重影響了系統運行,后台一直在吃資源
[root@localhost tmp]# df -Th
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs 17G 17G 20K 100% /
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2077 root 20 0 634100 12116 1848 S 0.7 1.2 10:36.46 containerd
就是該進程,我pkill干掉docker服務,該進程還在
最后解決辦法:
[root@localhost tmp]# ps aux | grep containerd
root 2077 0.7 1.2 634100 12116 ? Ssl 6月24 10:37 /usr/bin/containerd
root 83649 0.0 5.2 536180 51924 ? Ssl 21:35 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 84095 0.0 0.0 112720 988 pts/1 S+ 21:56 0:00 grep --color=auto containerd
[root@localhost tmp]# pkill -9 containerd
[root@localhost tmp]# ps aux | grep containerd
root 84110 0.0 0.0 112720 988 pts/1 S+ 21:56 0:00 grep --color=auto containerd
[root@localhost tmp]# df -Th
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs 17G 17G 20K 100% /
top 命令已經看不到該進程的存在了,但是磁盤還是滿的
#網上查了一下,意思就是生成了許多臨時文件在/tmp目錄下
#由於是測試環境,我直接將整個目錄清空了
[root@localhost tmp]# rm -rf /tmp/*
[root@localhost tmp]# ls .
./ ../ .font-unix/ .ICE-unix/ .Test-unix/ .X11-unix/ .XIM-unix/
#補全功能也可以正常使用了
總結
- 基礎知識相對不夠牢固,比如對docker-compose工具的使用,以及系統和服務進行配合運行時