我刚刚收到一条通知,说我只剩下少量的磁盘空间:
于是我打开猴面包树进行研究,发现了这一点:
事实证明,我的 /tmp 文件夹中充满了类似这样的文件tmpxxxxxx
。在我看来,这些文件就像是 python 脚本创建的临时文件。
我怎样才能找出导致此问题的程序?
时间戳大约在我第一次登录时和现在之间变化。它们是二进制文件,文件管理器将它们视为“未知”类型。
lsof /tmp/tmp*
什么也没给出。
当我运行时 ls -l /tmp/tmp*
,最后 10 个条目是:
-rw------- 1 david david 21195909 2011-08-29 21:53 /tmp/tmpzTXYNT
-rw------- 1 david david 2381 2011-08-29 15:53 /tmp/tmpZuKqAW
-rw------- 1 david david 6987663 2011-08-29 18:38 /tmp/tmpZuSEp5
-rw------- 1 david david 1789626 2011-08-29 20:33 /tmp/tmpzv3MST
-rw------- 1 david david 19266899 2011-08-29 22:15 /tmp/tmpZxMCU5
-rw------- 1 david david 21197879 2011-08-29 20:52 /tmp/tmpzxSXv2
-rw------- 1 david david 65960 2011-08-29 18:13 /tmp/tmpZyA6aJ
-rw------- 1 david david 352529 2011-08-29 22:47 /tmp/tmpzz3jPd
-rw------- 1 david david 13869 2011-08-29 22:25 /tmp/tmp_ZZ3ZA
-rw------- 1 david david 17277993 2011-08-29 20:53 /tmp/tmpZzSmnL
答案1
那么如何使用这个inotify-tools
包呢?
您可以安装它并尝试以下操作:
$ cd /tmp
$ lsof `inotifywait -e create --format "/tmp/%f" .`
如果你在另一个终端创建一个文件,例如:
$ cat > /tmp/aa
输出lsof
可能会显示类似
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cat 3576 marcelo 1w REG 8,1 0 274376 /tmp/aa
答案2
我刚刚再次尝试了 lsof 命令,得到了以下结果:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ubuntuone 21086 david 49r REG 8,4 1790938 1473680 /tmp/tmpYemldG
ubuntuone 21086 david 50r REG 8,4 12903 1473668 /tmp/tmpzZZV7s
ubuntuone 21086 david 52r REG 8,4 21702 1473689 /tmp/tmpXrw6n8
ubuntuone 21086 david 53r REG 8,4 25645 1473683 /tmp/tmp5jFc1h
ubuntuone 21086 david 54r REG 8,4 275049 1473685 /tmp/tmphrw2g3
ubuntuone 21086 david 55r REG 8,4 501273 1473684 /tmp/tmpbu2ET8
ubuntuone 21086 david 56r REG 8,4 7027579 1473687 /tmp/tmpSY_QO8
ubuntuone 21086 david 57r REG 8,4 19404032 1473686 /tmp/tmpokUSil
ubuntuone 21086 david 58r REG 8,4 17277993 1473688 /tmp/tmpqjYsMG
ubuntuone 21086 david 59r REG 8,4 21198443 1473682 /tmp/tmp1QGY_A
因此,Ubuntu One 似乎是罪魁祸首。出于某种原因,它似乎无法自行清理。我通过终止 ubuntuone-syncdaemon 然后运行 来“解决”了这个问题sudo rm -f /tmp/tmp*
。
答案3
Ubuntu One 存在设计缺陷,它会复制 /tmp 中的数据文件。我指的是 GB 的数据填满了 /tmp,我禁用了它,然后我的磁盘空间就恢复了(重启后)
Ubuntu One 的基本缺陷是在更新文件时没有实现基于存储库的锁定以及进行异地同步,其余一切都是 Ubuntu One 开发人员为糟糕的设计找的借口。
我的建议是禁用它。
每周一次/当您添加新的数据启用时,允许更新,然后再次禁用它并重新启动。
糟糕的方法,但却是唯一不会丢失磁盘空间的方法