序文 システム領域の使用量が大きすぎて消去する必要がある場合、または特定のファイルを消去する必要がある場合、削除コマンドを実行してもディスク領域が解放されないことがあります。初めてこの状況に遭遇すると、多くの人は混乱し、Windows システムのごみ箱のように、削除はごみ箱への論理的な削除にすぎないのではないかと疑問に思うでしょう。実はそうではありません。Linux のごみ箱機能についてもっと知りたい場合は、私に連絡したり、情報を調べたりして学ぶことができます。これはより実用的な方法でもあります。ここでは、主にファイルの削除後にスペースが解放されない問題を練習します。 1. 実験準備 このシナリオをシミュレートする方法は多数ありますが、主にファイルが占有されているシナリオを実現する方法です。最も簡単な方法は、ファイルをコピーすることです。もう 1 つの一般的な方法は、プログラミングやシェルのスキルに長けた学生が、ファイルにコンテンツを継続的に書き込むプログラムまたはスクリプトを作成することです。今回は主にファイルのコピーで素早く再現しました。 1.1 少し大きめのファイルを作成する /* 主にこのファイル操作用 */ [root@c7_2 ローカル]# ll -h 合計 3.0G -rw-r--r--。1 ルート ルート 2.5G 5月4日 17:43 all_backup.tar.gz /* 現時点でルートディレクトリの使用量は 6.5G です */ [root@c7_2 ~]# df -lh ファイルシステムサイズ 使用済み 使用可能使用率 マウント先 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /実行 tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 46G 6.5G 39G 15% / /dev/sda1 1014M 150M 865M 15% /ブート tmpfs 378M 0 378M 0% /run/user/0 1.2 scpコマンドを使用してファイルを占有する /* 他のホストへのリモートコピーを開始します*/ [root@c7_2 ローカル]# scp all_backup.tar.gz [email protected]:/home/test/ ホスト「192.168.28.226 (192.168.28.226)」の信頼性を確立できません。 ECDSA キーのフィンガープリントは SHA256:QfJb1DogFmdZ0hkeVRvn2VHke+tkZ2+sNljhBBudooc です。 ECDSA キーのフィンガープリントは MD5:2a:8a:63:80:35:17:f7:e9:2a:ea:13:98:eb:26:30:ba です。 本当に接続を続行しますか (はい/いいえ)? はい 警告: '192.168.28.226' (ECDSA) が既知のホストのリストに永続的に追加されました。 [email protected] のパスワード: all_backup.tar.gz 0% 2432KB 2.4MB/秒 17:53 ETA^Z [1]+ scp all_backup.tar.gz [email protected]:/home/test を停止しました /* バックグラウンドで実行*/ [root@c7_2 ローカル]# bg %1 [1]+ scp all_backup.tar.gz [email protected]:/home/test & 1.3 ファイルの削除 /* ファイルを削除 */ [root@c7_2 ローカル]# rm -f all_backup.tar.gz /* ディスク容量をチェック、変化なし*/ [root@c7_2 ローカル]# df -lh ファイルシステムサイズ 使用済み 使用可能使用率 マウント先 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /実行 tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 46G 6.5G 39G 15% / /dev/sda1 1014M 150M 865M 15% /ブート tmpfs 378M 0 378M 0% /run/user/0 /* ファイルは存在しません */ [root@c7_2 ローカル]# ll -h 合計 3.0G drwxr-xr-x. 2 ルート ルート 6 2018年4月11日 bin drwxr-xr-x. 2 ルート ルート 6 2018年4月11日など drwxr-xr-x. 2 ルート ルート 6 4月 11 2018 ゲーム drwxr-xr-x. 2 ルート ルート 6 4月 11 2018 include drwxr-xr-x. 2 ルート ルート 6 2018年4月11日 lib drwxr-xr-x. 2 ルート ルート 6 4月 15 05:56 lib64 drwxr-xr-x. 2 ルート ルート 6 2018年4月11日 libexec drwxr-xr-x. 2 ルート ルート 6 2018年4月11日 sbin drwxr-xr-x. 5 ルート ルート 49 11月 17 16:46 シェア drwxr-xr-x. 2 ルート ルート 6 2018年4月11日 src 2. 治療方法 lsof (開いているファイルのリスト) コマンドを使用すると、開いているファイルとそれを使用しているプロセスを表示できます。 lsof コマンドは、最小限インストールされたシステムでは使用できません。まず yum を使用してインストールできます。 yum インストール -y lsof 2.1 lsof ファイルの表示 開いているすべてのファイルを表示し、削除されたファイルを除外します [root@c7_2 local]# lsof |grep 削除済み ファイアウォールd 818 ルート 6u REG 253,0 4096 36061750 /tmp/ffi0SEit6 (削除済み) gmain 818 998 root 6u REG 253,0 4096 36061750 /tmp/ffi0SEit6 (削除済み) 調整済み 1180 ルート 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (削除済み) gmain 1180 1602 root 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (削除済み) 調整済み 1180 1603 ルート 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (削除済み) 調整済み 1180 1605 ルート 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (削除済み) 調整済み 1180 1606 ルート 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (削除済み) scp 1798 root 3r REG 253,0 2665433605 104181296 /usr/local/all_backup.tar.gz (削除済み) 先ほど削除してそのプロセスで開いたファイルを見つけました 2.2 プロセスを見る lsof を使用すると、all_backup.tar.gz ファイルがプロセス 1798 によって占有されていることがわかります。特定のプロセスが何であるかを確認できます。 [root@c7_2 ローカル]# ps -ef|grep 1798 ルート 1798 1729 0 17:47 pts/0 00:00:00 scp all_backup.tar.gz [email protected]:/home/test ルート 1799 1798 2 17:47 pts/0 00:00:03 /usr/bin/ssh -x -oForwardAgent=no -oPermitLocalCommand=no -oClearAllForwardings=yes -l test -- 192.168.28..226 scp -t /home/test ルート 1868 1806 0 17:49 pts/1 00:00:00 grep --color=auto 1798 これは前に実行したコピーコマンドです 2.3 スペースを解放する このようなクエリステータスの場合は、対応するプログラムを終了する必要があります /* 対応するプロセスを強制終了します */ [root@c7_2 ローカル]# キル -9 1799 1798 /* スペースが解放されました */ [root@c7_2 ローカル]# df -lh ファイルシステムサイズ 使用済み 使用可能使用率 マウント先 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /実行 tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 46G 4.0G 42G 9% / /dev/sda1 1014M 150M 865M 15% /ブート tmpfs 378M 0 378M 0% /run/user/0 注:継続的に書き込まれているログをクリアする場合は、echo " ">filename コマンドを使用して、プロセスを強制的に終了せずにオンラインでファイルをクリアできます。この方法が機能しない場合は、プロセスを終了してみてください。 3. 結論 この記事は主に以下のシナリオに適用されます。
もう一度お伝えしますが、echo " ">filename コマンドを使用してオンラインでファイルを消去できる場合は、プロセスを強制的に終了する必要はありません。この方法が機能しない場合は、プロセスを終了してみてください。 Linux のファイル削除後にスペースが解放されない問題についての記事はこれで終わりです。Linux のファイル削除後にスペースが解放されない問題に関する関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: MySQL スライディング集計/年初来集計の原理と使用例の分析
ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript...
1. Docker Composeの概要Compose は、マルチコンテナ Docker アプリケー...
ルート ルーティング コンポーネント (アプリの下のルート ルーティング コンポーネント。子コンポー...
1. 父から息子へ子コンポーネントにpropsフィールドを定義し、その型は配列です (フィールド値の...
序文DBA として、仕事中に MySQL マスターとスレーブの同期遅延の問題に遭遇することがよくあり...
<TD> タグの属性は、テーブル内のセルのプロパティを設定するために使用されます。表 &...
序文最近、面接中に、MySQL の InnoDB エンジンがどのようにトランザクションを実装している...
目次前提TypeScript と JavaScriptコードエディタの選択TypeScriptを学ぶ...
この記事では、JavaScript Canvasで三目並べゲームを実装するための具体的なコードを参考...
目次必要:要点:これまでの要点に従って、コンポーネントのプロパティを確立できます。コンポーネントの基...
理由: MySQL 5.7.5 以降では機能依存関係の検出が実装されています。 only_full_...
1.1 データ型の概要データ型は、各フィールドに保存できるデータの種類、保存できるデータの量、保存で...
目次1. SparkとHadoopの比較1.1 Haoopの欠点1.2 Hadoop MR に対する...
この記事はMySQL 5.7.23 winx64のインストールチュートリアルを記録します。具体的な内...
1. サーバーを購入するこの例では、購入したサーバーはAlibaba Cloudです。大学生はAli...