2

私が使用している Linux 開発サーバーの 1 つで、ルート "/" レベルで 100% のスペース使用率が見られます。ルート フォルダーには、ルートが存在するファイラーとは異なるマウント/ファイラー上にある "production" というフォルダーがあります。ルートには 7.7/8 GB に近いディスク容量があります。

MBまたはGBのすべてのフォルダーで「du -chs」を検索し、ルート「/」(/ productionを除く)で使用されている合計スペースを見つけていますが、他のスペースの場所とその理由がわかりませんすべてのフォルダー (/production を除く) がそれを示している場合、100% 使用されており、合計でわずか 2.8GB です。

  1. 不足しているスペースを取り戻すにはどうすればよいですか?

  2. df -kvh および du コマンドが、使用されている/正しく使用されていないすべてのスペースを反映しないのはなぜですか? おおよその (7.7 割り当て済み - 2.8 使用済み) GB スペースはどこですか?

何か案が!私がここで見逃しているかもしれないもの。

[root@linux-server /]# df -kvh / && echo && echo && df -kvh /production
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-root
                      7.7G  7.3G     0 100% /


Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-production
                      258G  231G   14G  95% /production
[root@linux-server /]#


[root@linux-server /]# ls -1|grep -v "production" | xargs du -chs 2>/dev/null|egrep "total|[0-9][0-9]*[MG]"
7.8M    bin
20M     boot
106M    etc
320M    lib
25M     lib64
60M     root
39M     sbin
1.9G    usr
364M    var
2.8G    total
[root@linux-server /]#
4

2 に答える 2

3

わかった。誰がこの質問に反対票を投じたかはわかりませんが、この動作の原因を見つけることが重要でした。答えをコミュニティと共有したいと思います。

そのため、ルート「/」に 5 GB 近くの空き容量があったにもかかわらず、df コマンドはそれを表示していませんでした。これは、一部の OS (バグ / 設計によるもの) が原因である可能性があります。

プロセスを強制終了し、いくつかの子プロセスを残した場合、またはフォルダーを使用しているプロセスを強制終了し、そのフォルダーを削除した場合 (プロセスの進行中に)、この問題が発生する可能性があります.

システムが何らかの方法で子プロセス/pid (これは必須ではない) プロセスを強制終了しない場合、スペースは "df" コマンドによって正しく反映されません (その子/プロセスは何らかの形でリソースを保持しているため)。

さて、私はどのように解決しましたか。

いくつかの Jenkins (Java) プロセスが実行されているのを見たので、それらを強制終了しました。それでもスペースが回復せず (空き容量は 420KB しかありませんでした)、「ps -eAf」を実行すると、次のプロセスが実行されていることがわかりました。

c123456  23019     1 99 Oct21 ?        3-07:57:35 readelf -Wa /tmp/Goslr0qbOe/content2/jdk16-solaris-1.6.0.3.tar/jdk1.6.0_03/jre/lib/sparc/libioser12.so

(上記のプロセスは、何らかのユーティリティによって開始されました。「pkgdiff」または pkgdiff ユーティリティによって開始された子ステップ/プロセスである可能性があります。私のチーム メンバーの 1 人が JDK 1.6 と JDK 1.7 の tar ファイルを比較していましたが、どういうわけか、この上記のプロセスはその後も実行されていました。メインの pkgdiff / 関連する PID を削除し、2 日前に /tmp/Goslr0qb0e も削除しました)。

上記のPID(23019)を殺したらすぐに...シェンジ!私はビジネスに戻ってきました。

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-root
                      7.7G  2.5G  4.9G  34% /

Jenkins インスタンスを再起動した後でも、df はルート「/」パーティション/マウント/ファイラーに 4.9G の空き容量があることを正しく示し、上記のプロセスがリソースを保持していたことを確認します (これは制御不能であると想定しています)。 /「df」コマンドの出力のスコープ)。

于 2014-10-24T17:16:45.487 に答える