Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> Linuxのシステムファイルは削除されているがスペースが解放されていないという問題を解決する方法                 

Linuxシステムで作業しているときに、ファイルが削除されてもスペースが解放されないという問題が発生することがあります。それを解決する方法は、次の小さなシリーズは、ファイルが削除されますが、スペースが解放されていないという解決策を紹介します。

1.エラー現象

運用保守監視システムから通知が送信され、サーバースペースがいっぱいであるこ

Linuxのシステムファイルは削除されているがスペースが解放されていないという問題を解決する方法                 

Linuxシステムで作業しているときに、ファイルが削除されてもスペースが解放されないという問題が発生することがあります。それを解決する方法は、次の小さなシリーズは、ファイルが削除されますが、スペースが解放されていないという解決策を紹介します。

1.エラー現象

運用保守監視システムから通知が送信され、サーバースペースがいっぱいであるこ

  
並べ替え ヘッド-3

69206016 /tmp /access_log

36 /tmp /hsperfdata_root

36 /tmp /hsperfdata_mapred

コマンド出力で/tmpディレクトリにあります。このファイルはapacheによって生成されたアクセスログファイルである必要がありますログサイズから、apacheログファイルをクリーニングしないで長い時間があるはずです基本的な決定はこのファイルによって引き起こされるルートスペースがいっぱいであることです。ファイルを削除できたら、次の削除操作を実行します。

[root @ localhost〜]#rm /tmp /access_log

次に、以下に示すように、システムのルートパーティションスペースが解放されているかどうかを確認します。 >

出力からわかるように、ルートパーティションスペースはまだ解放されていません。

2、解決策のアイデア

一般的に言って、ファイルが削除された後はスペースがありませんが、ファイルがプロセスによってロックされている、またはプロセスがこのファイルに対して行われたなどの例外があります。この問題を理解するためにデータなどを書くには、Linuxでのファイルの格納メカニズムと格納構造を知る必要があります。

ファイルはデータ部とポインタ部の2つの部分に分けてファイルシステムに格納されますポインタはファイルシステムのメタデータ内にあり、データが削除されるとポインタはメタデータから消去されます。データ部はディスクに格納され、データに対応するポインタがメタデータから消去された後、ファイルデータ部が占めていたスペースが上書きされて新しいコンテンツに書き込まれ、access_logファイルが削除されても削除されません。 httpdプロセスがまだこのファイルにコンテンツを書き込んでいるため、access_logファイルが削除されていますが、プロセスロックのため、ファイルのポインタ部分がメタデータから消去されていないため、ポインタが削除されていません。その後、システムカーネルはファイルが削除されていないと判断します。そのため、dfコマンドによってクエリスペースが解放されないのは当然のことです。

3、トラブルシューティング

問題の解決策があるので、次にacess.logファイルにデータを書き込んでいるプロセスがあるかどうかを確認します。ここではLinuxを使用する必要がありますlsofコマンドは、このコマンドは削除されていますが、それでもアプリケーションによって占有され、下図のようにコマンドを実行し、ファイルのリストを取得することができます。

あなたは/アセス出力、/tmpのから見ることができます。ログファイルはプロセスhttpdによってロックされており、httpdプロセスはこのファイルにログデータを書き込んでいます7番目の列から、ログファイルのサイズはわずか70Gで、システムルートパーティションの合計サイズは100Gにすぎません。 「削除済み」状態の最後の列にあるシステムルートパーティションスペースの枯渇の原因。ログファイルが削除されたことを示しますが、プロセスはまだこのファイルにデータを書き込んでいるため、スペースは解放されません。

4、問題を解決する

問題は基本的にここでチェックされます。このタイプの問題を解決する方法はたくさんありますが、最も簡単な方法はhttpdプロセスを閉じるか再起動することです。オペレーティングシステムを再起動しますが、これはログをファイルに書き込むためのこの種のプロセスを扱う最良の方法ではありませんファイルによって占められているディスクスペースを解放するための最良の方法はオンラインでファイルを空にすることです。

[root @ localhost〜]#echo''” /tmp/acess.log

この方法を使用すると、ディスク容量を即座に解放し、ファイルへの継続処理を保証できます。ログを書き込む。この方法は、Apache、Tomcat、NginxなどのWebサービスによって生成されたログファイルを消去するためによく使用されます。読んでいただきありがとうございます、私はあなたを助けたいと思います、スクリプトハウスに注意を払い続けてください、私たちはより優れた記事を共有しようとします。

以上がLinuxファイルを削除しても空き容量を解放していない解決策の紹介ですが、ファイルは削除されていますが容量が非常に面倒で、容量を有効に活用できていません。この記事に記載されている方法を試してください。

Copyright © Windowsの知識 All Rights Reserved