为什么 .xsession-errors.old 文件这么大?

Luc*_*cio 5 disk disk-usage

问题

许多用户(包括我在内)时不时地发现磁盘空间的使用情况真的很奇怪。有一天我有 50Gb 免费,下一天我有 3Gb,这太疯狂了。

这发生在不同版本的 Ubuntu 上(仅提及 11.04、12.04 和 12.10)。

其中一些用户在此站点上创建了问题,其中一些:

解决方案

@NathanWienand已经发现该问题是由引起的.xsession-errors.old文件(可在$ HOME目录中找到),他和其他用户解决了删除文件的问题。可以拥有这个文件的大小的一个例子是~100Gb,不合理..

  • 为什么会发生这种情况?
  • 删除文件是解决问题的唯一方法吗?
  • 难道没有另一种方法可以解决这个具有大周期效应的问题吗?
  • 这个问题是否只影响 64 位系统的用户?

如果您有什么要在此处添加的内容,请随时编辑问题。

wal*_*tor 1

你可以调查一下这个问题。是的,我知道这是一个大文件,但是通过丢弃数据并让计算机完成工作,人们可以:

cat .xsession-errors* | \
    egrep -v '^$' | \
    sed -e 's/[0-9][0-9]\+/#NUM#/g'  | \
    sort | \
    uniq -c | \
    sort -rn | \
    tee counts.out | \
    less -XMersj3
Run Code Online (Sandbox Code Playgroud)

一些消息(在我的系统上没有问题)例如:

     38 /usr/share/software-center/softwarecenter/ui/gtk3/widgets/exhibits.py:#NUM#: Warning: Source ID #NUM# was not found when attempting to remove it
     38   GLib.source_remove(self._timeout)
     36 (nautilus:#NUM#): Gdk-CRITICAL **: gdk_window_get_origin: assertion 'GDK_IS_WINDOW (window)' failed
Run Code Online (Sandbox Code Playgroud)

比其他情况发生的频率更高(38、38、36 次),因此值得进行更多调查。

其他的:

 1 compiz (core) - Info: Loading plugin: ccp
 1 compiz (core) - Info: Loading plugin: animation
Run Code Online (Sandbox Code Playgroud)

另一件要做的事情是查找已删除但仍然打开的文件:

 sudo lsof / | egrep 'PID|(deleted)'
Run Code Online (Sandbox Code Playgroud)

寻找较大的 SIZE/OFF 值。

并查找大的打开文件:

sudo lsof / | \
    awk '{if($7 > 1048576) print $7/1048576 "MB" " " $9 }' | \
    sort -n -u 
Run Code Online (Sandbox Code Playgroud)