首页 > 代码库 > wget任务被kill之后tmp目录空间一直不释放

wget任务被kill之后tmp目录空间一直不释放

在一次下载一个200多G的大文件时,使用如下方式进行下载,已经下载了180G

wget -c xxxxx.tar.gz   -O xxxx.tar.gz

因为当时机器上做的操作很多,机器有点卡,于是就手工kill掉这个任务,等空闲时候再手工下载。

结果kill掉这个进程后,很长时间这个任务才终止,且之后/tmp目录被占用的空间就一直没有被释放。


[kxk3admin@kxo-backup-in-02 ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1             20G  8.9G  9.8G  48% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/mapper/vg01-lv01
                      296G  225G   56G  81% /tmp
/dev/xvdc1            2.0T  546G  1.3T  30% /app
ossfs                 256T     0  256T   0% /oss


由于这台机器上有很多定时自动任务在跑,所以不能随便停或重启这台机器。(当然重启这台机器是可以释放掉tmp被占用的空间)。在不重启的情况下考虑释放掉这些空间。


使用lsof -n | grep deleted查看是否有存在有相关文件被删除,但进程未释放的情况发生

注:这个deleted表示该已经删除了的文件,但是文件句柄未释放,这个命令会把所有持有的未释放文件句柄的进程列出来。


[linux@kxo-backup-in-02 app]$ lsof -n | grep deleted
ossfs      1340 linux    5u      REG              253,0            0         18 /tmp/tmpfjJmsrM (deleted)
ossfs      1340 linux    6u      REG              253,0    588452596       1920 /tmp/tmpf3llHIV (deleted)
ossfs      1340 linux    7u      REG              253,0 236260153501         14 /tmp/tmpfBevUvg (deleted)
ossfs      1340 linux    8u      REG              253,0   4291821568       1473 /tmp/tmpflGDQvH (deleted)
ossfs      1340 linux   10u      REG              253,0            0        956 /tmp/tmpfLZbTMe (deleted)
ossfs      1340 linux   11u      REG              253,0            0       5186 /tmp/tmpfTh5Mov (deleted)
ossfs      1340 linux   13u      REG              253,0            0       1247 /tmp/tmpfLVW3zR (deleted)
vim        3793 linux    4u      REG             202,33        16384   60555276 /app/temp/.head300.log.swp (deleted)
collect_s  5568 linux    0u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
bash      19204 linux    0u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
bash      19204 linux  255u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
bash      19524 linux    0u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
bash      19524 linux  255u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
collect_s 19682 linux    0u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
bash      19900 linux    0u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
bash      19900 linux  255u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
bash      20090 linux    0u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
bash      20090 linux  255u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
collect_s 20131 linux    0u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)
collect_s 29077 linux    0u      CHR              136,3          0t0          6 /dev/pts/3 (deleted)

然后你可以使用kill命令来释放文件句柄从而释放空间。

本文出自 “努力奔向前方” 博客,请务必保留此出处http://liucb.blog.51cto.com/3230681/1918553

wget任务被kill之后tmp目录空间一直不释放