• ベストアンサー

Redhat Enterorise Linux3でディスク使用率が100%

お世話になります、どなたかご教示いただけますと幸いです。 /homeの配下が100%になりました。 # df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda5 60G 60G 0 100% /home と表示されています。 不要ファイルを削除して # du /home -msh 12G /home と表示されますがdfコマンドだと、100%時の表示と同じで変わりません。 サーバを再起動せずにdfコマンドでも現在の使用量を正しく認識させるにはどのようにしたらよいのでしょうか? どうぞよろしくお願い致します。

noname#35384
noname#35384

質問者が選んだベストアンサー

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

オープン中のファイルを削除した場合、ファイルがオープン中なのでそのファイルで使用していた領域は確保されたままになり、クローズされファイルが誰からもオープンされていない状態(最終クローズ)になってはじめて領域が解放されます。 そのため、上記の場合が当てはまるならdfコマンドの現在の使用量は正しく認識されているという事になります。 No.1の方も書かれていますが、/homeディレクトリ配下で削除したファイルの中にプロセスでオープン中のものが含まれていると領域は解放されませんので、ファイルをオープンしているプロセスの停止や(ファイルのクローズが伴う)再起動が必要になります。 プロセスは、fuserやlsof等のコマンドで確認すればいいと思いますが、わからない場合には再起動になるかと。

noname#35384
質問者

補足

コメントありがとうございました。 findの際にバックグラウンドで走らせていたため、検索が終了しても確かにプロセスはあがったままでした。 プロセスを終了させましたが相変わらずdfコマンドだと100%のままです。 fuserは既にファイルを削除してしまったため確かめることができないようです。。。 サービス用サーバのため再起動は最終手段なのですが、ほかに調査箇所はないでしょうか?

その他の回答 (1)

  • zem
  • ベストアンサー率70% (51/72)
回答No.1

/home 配下には、デーモンが作成されたファイル(たとえば apache のログなど)があった可能性はありませんでしょうか。もし、apache のログであれば httpd の再起動で解消されます。

noname#35384
質問者

補足

コメントありがとうございました。 巨大ファイルの原因が、findの検索結果出力にあります。(ファイル名ではなくファイル内の文字列の検索をしてヒットした行を/home配下にあるファイルへ出力) この場合にも何らかのサービスの再起動で復旧できるのでしょうか・・・?

関連するQ&A

  • /usrがいっぱいになって。mountやり方?

    VMでCentOS5.5をインストールしています。 Filesystemはこのようになっています。 [root@localhost]# df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda2 3.8G 3.3G 347M 91% / /dev/sda5 14G 197M 13G 2% /home /dev/sda1 46M 24M 20M 55% /boot tmpfs 501M 0 501M 0% /dev/shm その中に、 [root@localhost ConnectDB]# du -hs /usr 2.8G /usr /usrが大き過ぎるため、Filesystemがそのその使えなくなるので、 /usrを/homeにmountしたいですが、どうすればいいでしょうか?

  • Linuxのディスク。空いているはずなのに0

    /下は本来5GBくらいは空いているはずではないかと思うのですが、dfでみると空きが0になってしまいます。 # df ファイルシステム 1K-ブロック 使用 空き 使用% マウント位置 /dev/sda2 7637400 7637292 0 100% / /dev/sda1 101086 20574 75293 22% /boot none 1037388 0 1037388 0% /dev/shm /dev/sdb 20642428 9190668 10403184 47% /home /dev/sdc 15481840 6056152 8639256 42% /backup 192.168.1.100:/home/httpd 20642432 9172096 10421760 47% /mnt/192.168.1.100 //storage1/backup$ 2926654528 1877643692 1049010836 65% /mnt/storage1 //storage2/backup 1945310816 1782780424 162530392 92% /mnt/storage2 とすると /の空きが0になっています。 # find / -type d -maxdepth 1 | awk '{res = system("du -shx "$1) というコマンドで/以下のフォルダごとの容量を表示させると、下記のようになります。 find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments. 1.4G / 920M /usr 72K /dev 4.0K /net 4.0K /opt 15M /sbin 160M /var 12K /tmp 4.0K /.dev.static 8.0K /lib64 4.0K /srv 8.8G /home 255M /lib 5.0M /bin du: `/proc/5261/task': そのようなファイルやディレクトリはありません du: `/proc/5261/fd': そのようなファイルやディレクトリはありません 897M /proc 4.0K /media 20K /mnt 16K /lost+found 4.2M /root 0 /sys 4.0K /initrd 30M /etc 4.0K /misc 4.0K /selinux 15M /boot 5.8G /backup /の下は、duの結果にあるような、トータル7637292の容量を消費しているよう状態に見えません。何が問題なのでしょうか。確認すべき点を教えてください。

  • linuxのディスクパーティション

    CentOS6.3を、500GBのHDDにインストールしました。 インストール時にハードドライブのパーティションレイアウトを 「選択したドライブ上のすべてのパーティションを削除してデフォルトレイアウトを作成します。」 を選択して、minimalインストールをしました。 インストール完了後、df -hで確認したところ、以下のようなディスクレイアウトになっていました。 Filesystem            Size Used Avail Use% マウント位置 /dev/mapper/vg_cent-lv_root 50G 2.6G 45G 6% / tmpfs             3.9G 0 3.9G 0% /dev/shm /dev/sda1           485M 32M 429M 7% /boot /dev/mapper/vg_cent-lv_home 237G 602M 224G 1% /home / サイズが若干小さいと感じています。 /var/logに大きさなサイズのlogが出来るため、100G位あればいいかなと思っています。 <質問> 「/dev/mapper/vg_cent-lv_home 237G 602M 224G 1% /home」 から、50Gぐらいを「/dev/mapper/vg_cent-lv_root」に移す?増やす? /     …100G /home …170G したりすることは出来る物でしょうか? ご教授お願いします。

  • linux dfとduでdisk使用量が大きく違う

    お世話になります。 CentOS 6.2にてdfコマンドを使用したdisk使用量とduコマンドを使用したdisk使用量とで 結果が大きく異なります。 以下がコマンド実行時の結果です。何が考えられますでしょうか? ------------------------------------------------------------ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/root 146G 138G 12M 100% / tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/sda1 485M 36M 424M 8% /boot /dev/mapper/data 158G 1.4G 148G 1% /data /dev/mapper/home 146G 188M 138G 1% /home /dev/sdb1 1.8T 527M 1.7T 1% /mnt/usbhdd ------------------------------------------------------------ du -sh ./* 7.5M ./bin 26M ./boot 1.2G ./data 232K ./dev 23M ./etc 110M ./ftproot 176K ./home 2.5M ./lha-1.14i-ac20050924p1 120M ./lib 24M ./lib64 16K ./lost+found 4.0K ./media 332M ./mnt 4.0K ./opt du: cannot access `./proc/4152/task/4152/fd/4': No such file or directory du: cannot access `./proc/4152/task/4152/fdinfo/4': No such file or directory du: cannot access `./proc/4152/fd/4': No such file or directory du: cannot access `./proc/4152/fdinfo/4': No such file or directory 0 ./proc 80K ./root 14M ./sbin 4.0K ./selinux 4.0K ./srv 0 ./sys 13M ./tmp 682M ./usr 2.2G ./var --------------------------------------------------------- 又、削除済みでつかんだファイルは以下の様に表示されました。 ls -al /proc/*/fd/* | grep deleted ls: cannot access /proc/4265/fd/255: No such file or directory ls: cannot access /proc/4265/fd/3: No such file or directory ls: cannot access /proc/self/fd/255: No such file or directory ls: cannot access /proc/self/fd/3: No such file or directory

  • /usrのパーティション変更後、whichコマンドを利用できない。

    「df -h」で「/usr」にマウントした「/dev/sda7」の使用率が83%・空き容量500MBになっていたため、新しいパーティション「/dev/sda11」を「/usr」にマウントしたいと思ってます。 「/dev/sda11」をとりあえず「/tmp/usrcp」にマウントし「/usr」ディレクトリ下のファイルをすべて「/tmp/usrcp」にコピーしました。コマンドは「#cp -r /usr /tmp/usrcp」です。root権限で作業しています。 「/usr」と「/tmp/usrcp」からデバイスファイルをアンマウントし「/usr」に「/dev/sda11」をマウントしました。 「df -h」で確認すると「/usr」に「/dev/sda7」がマウントされていた時の使用量は2.6G、「/dev/sda11」がマウントされた時の使用量は2.4Gです。 「/dev/sda11」がマウントされた場合は、「vi」「df」「ls」は利用できますが「which」を利用できません:「No such file...」。「/dev/sda7」がマウントされた場合は「which」を利用できます。 「/dev/sda11」がマウントされた場合に「ls /usr」を実行すると「/usr」以下のファイルが表示されません。 *「/dev/sda7」のアンマウントは「使用中」ですというエラーが表示されたため、「umount -l」で行いました。 長い文になりましたが、どこを改善すればwhichコマンドを正常に利用できるようになるのかご指導下さい。よろしくお願いします。

  • dfでディレクトリの容量が見れません

    RedHat Enterpriseです。 /home 以下の容量を調べようとして、以下のコマンドを打ちました。 [melrt@dose1 /]$ df -k Filesystem    1K-ブロック  使用  使用可 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00             67862104 29859800 34555112 47%  / /dev/sda1        101086  12419   83448  13% /boot none          1037236    0  1037236  0% /dev/shm どうやらマウントされているものの容量が出ているみたいですが、どうすれば /home以下の容量を調べられるでしょうか。 初歩的な質問で申し訳ありませんが、よろしくお願いします。

  • Linuxのドライブ空き容量の件

    Linux超初心者です。 OSはCentOS6.2 1TBのHDDに「すべての領域を使用する」オプションを選んでインストール。 これで無駄なく1TBの容量を使えるんでしょうか? ググって頑張ってみたんですがハードディスクの割り当てがよくわかりません。 dfコマンドとやらを使用して下記の数値が出ました。 [root@FDREDMINE ~]# df Filesystem 1K-ブロック 使用  使用可 使用% マウント位置 /dev/mapper/vg_fdredmine-lv_root 51606140 4188492 44796208 9% / tmpfs 4027992 336 4027656 1% /dev/shm /dev/sda1 495844 35944 434300 8% /boot /dev/mapper/vg_fdredmine-lv_home 901256464 205320 855269948 1% /home /redminebackup/database の中にたくさんのファイルが入るのでここの領域をいっぱいまで使いたいのですが、これで1TBちゃんと使い切れるんでしょうか? なんか、見たところ/homeの中に入れなきゃダメみたいな感じがするんですが・・・。 Windowsしか触ったことないので戸惑っております。 よろしくお願いします。

  • ディスク未使用領域容量の取得

    例えば全体で150Gのディスクとして、 使用領域は以下となっています。 [root@TEST ~]# df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/cciss/c0d0p5   50G 3.1G 44G 7% / /dev/cciss/c0d0p1 251M 17M 222M 7% /boot none 2.0G 0 2.0G 0% /dev/shm /dev/cciss/c0d0p6 30G 1.7G 27G 6% /opt /dev/cciss/c0d0p2 5.0G 137M 4.6G 3% /var 以上のようにパーティションを作成済みの領域は 50Gちょっとです。 求めたいのは、上記に出ていないパーティション未作成の領域 ですが、コマンドで取得可能でしょうか?。 df-hだと、各パーティション毎の空き領域になってしまい・・。 よろしくお願いします。

  • fdiskとdfのパーティションサイズの差の理由

    CentOS5.5を使用中です。 /dev/sda1のパーティションサイズですが、 fdiskでは、40957686 blocks dfでは、39674192 blocks となっています。 この差は、何処から来ているのでしょうか。 [root]# fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sda1 * 1 5099 40957686 83 Linux /dev/sda2 5100 17847 102398310 83 Linux /dev/sda3 17848 18867 8193150 82 Linux swap / Solaris /dev/sda4 18868 60801 336834855 5 拡張領域 /dev/sda5 18868 31615 102398278+ 83 Linux /dev/sda6 31616 60801 234436513+ 83 Linux [root]# df Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda1 39674192 3850444 33775864 11% / /dev/sda5 99188468 641536 93427020 1% /home /dev/sda6 227093556 851940 214519792 1% /home2 /dev/sda2 99188500 1122216 92946372 2% /var tmpfs 4155208 8 4155200 1% /dev/shm

  • RHELで、dfは123Gなのにduは61G、再起動しても変わらず

    "Red Hat Enterprise Linux ES release 4"を運用しています。 ディスク容量のチェック作業で、dfとduコマンドの結果が、どうも納得できない内容で困っています。 dfコマンドでの使用容量は123Gなのに対し、duコマンドでは61Gです。 dfとduの結果は、プロセスが起動したままの状態では、正しく反映されない等もある為、再起動を行いましたが、全く変わりません... <"df -h"の結果 ~ rootで実行> Filesystem サイズ 使用 残り 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 133G 123G 2.8G 98% / /dev/sda1 99M 26M 68M 28% /boot none 1.5G 0 1.5G 0% /dev/shm //192.168.xxx.xxx/bak$ 440G 121G 320G 28% /mnt/nas <"du -sh /*/"の結果 ~ rootで実行> 60M /bin/ 21M /boot/ 216K /dev/ 52M /etc/ 38M /home/ 8.0K /initrd/ 200M /lib/ 16K /lost+found/ 16K /media/ 8.0K /misc/ 26G /mnt/ 3.8M /opt/ 902M /proc/ 51M /root/ 17M /sbin/ 8.0K /selinux/ 8.0K /srv/ 0 /sys/ 72K /tftpboot/ 76K /tmp/ 2.3G /usr/ 32G /var/ 先日、運用しているアプリケーションから、「ディスク容量不足」の警告が出た為、dfの結果が正しいのではと思えるのですが、duに出ない幽霊ファイルを見付けきれません。 ひょっとしたら、ブロックサイズよりも小さいファイルが沢山あり、この様な自体になっているのかも?とも思いましたが、確証が得られません。 ("find . | wc -l"は、"610613") ファイルシステムが壊れているのかも!?とも思っています。 何か考えられる事があるでしょうか...? (残り容量が僅かで、焦っています)