私のディスク容量はどこですか?


2

私は最近.xsession-errorsファイルに問題がありました - それは非常に大きくなり(> 90GB)、すべてのディスク容量を消費しました: どのように私は/ tmpのディスクスペースを取るのかを確認することができますか? 。私はコマンドでそれをきれいにした > .xsession-errors しかし1時間後には再び大きくなりました。だから私はそれを削除しました( rm .xsession-errors ) - それは再作成されていないために役立ちましたが、再び1時間後にディスクスペースが消えた - 今はありません .xsession-errors もう記憶がどこにあるのか私にはわかりません:

 df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda1      106640456 101223392         4 100% /
udev             8166744         8   8166736   1% /dev
tmpfs            3270224       972   3269252   1% /run
none                5120         0      5120   0% /run/lock
none             8175552       152   8175400   1% /run/shm

du -sc * .[^.]* | sort -n
0       initrd.img
0       initrd.img.old
0       proc
0       sys
0       vmlinuz
0       vmlinuz.old
4       cdrom
4       lib64
4       media
4       mnt
4       selinux
8       dev
12      srv
16      lost+found
68      tmp
1124    run
3396    lib32
5164    .rpmdb
5540    root
8888    sbin
9120    bin
17132   etc
106080  opt
116956  boot
861908  lib
3530584 usr
3821836 var
13371260        home
21859112        total

だから約100ギガバイト使用されているが実行している du -sc * .[^.]* | sort -n ルートディレクトリに〜21ギガバイトしか見つけられない - だから何が80ギガバイトかかる?確認するには? `.xsession-errors 'ファイルを削除したときに、エラーがどこか別の場所にリダイレクトされたのではないかと思います - しかし、どこで?

lsof | ( grep -n 1 '.' ; grep '.xsession-errors' )
    gnome-ses  2748    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    gnome-set  2797    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    compiz     2825    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    vino-serv  2836    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    nm-applet  2837    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    bluetooth  2838    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    gnome-fal  2839    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    polkit-gn  2844    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    nautilus   2851    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    sh         2901    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    gtk-windo  2902    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    gnome-ter  3169    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    gdu-notif  3235    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    telepathy  3253    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    gnome-scr  3276    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    update-no  3508    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    deja-dup-  3964    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)
    update-ma 25719    someuser    2w      REG                8,1 80997797888    4194313 /home/someuser/.xsession-errors (deleted)

あなたは正しかった - このファイル(.xsession-errors)はまだ80GBかかります!問題はそれを使っているプログラムがたくさんあることです - 私はインターネットを見ていて、多くの人がこの問題を抱えていました(バグ)が、私が見つけた最良の解決法はアクセスファイルが削除されたため、今すぐアクセス - 別の.xsession-errorsファイルを作成しようとしましたが(これは単純な話ではありません)、もう同じファイルではありません。それを切り捨てるには...


1
もし .xsession-errors >に成長しています1時間で90ギガバイト、正しい行動はそれを削除することではありませんが、エラーが何であるかを見つけて、それを修正することです。その後、コマンドを再実行してください。 cd /var/log
Darth Android

回答:


8

開いているファイルを削除しても、ファイル自体は削除されず、名前だけが削除されます。ファイルが書き込まれているプロセスによってファイルが閉じられた場合にのみ、スペースが回収されます。そのため、削除されたファイルは存在し続けます。

ファイルを「削除」してもプロセスがまだファイルを開いている場合は、どのプロセスがそのファイルを使用しているかを調べることができます。

lsof | ( grep -n 1 '.' ; grep '.xsessions-errors' )

出力は次のようになります。

COMMAND                PID   USER  FD   TYPE  DEVICE  SIZE/OFF     NODE  NAME
problematic-program   1234  auser   4u   REG   252,2         0  1967438  /home/auser/.xsession-errors (deleted)

「削除された」ファイルが現在どのくらいのスペースを取っているかを見るには:

ls -l /proc/1234/fd/4

ここで、1234は上記のPID、4はFDです。問題のあるプログラムを知ったら、そこからトラブルシューティングできます。


使ったこと lsof あるプログラムのリストを識別するため .xsession-errors 書き込み用に開いている場合は、これらのプログラムをそれぞれシャットダウンして再起動する必要があります。必要であれば、システムをシャットダウンして再起動することができますが、これは厳密には必要ありません。

ログファイルが速く成長する場合、理想的な解決策はその理由を見つけてその問題に対処することです(例えば、いくつかのリソースが欠けている)。あなたが好めばしかしあなたはで説明されている方法を使用して/ dev / nullにエラーをリダイレクトすることができます https://askubuntu.com/questions/93718/how-do-i-prevent-xsession-errors-from-eating-disk-space


私は私の質問を更新しました - それは多くのプログラムがこのファイルを使用しているようです...どうやってそれを復元したり完全に削除することができますか?
user166241

@ user166241:最新の回答を参照してください。ただし、Darth Androidのアドバイスに注意してください。
RedGrittyBrick

@ user166241ファイルを解放するにはXサーバーを再起動する必要があります。それを使用しているプログラムはすべてXプログラムです。あなたが試すことができます sudo service restart lightdmしかし、最悪の場合はボックスを再起動する必要があります。私はそれがすべてのそれらのXプログラムを実行していることを考えるとそれはサーバーではないと思います。
Darth Android

「サーバーが指定されていません...」とはどういう意味ですか?それはいくつかのWebサービス用のサーバーです...
user166241
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.