Go to main content
Oracle® Solaris 11.3 でのデバイスの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

ディスク使用状況の管理

ディスクに対して実行できる管理タスクのリストについては、次のタスクマップを参照してください。

表 11  ディスク使用状況の管理のタスクマップ
タスク
説明
手順の参照先
システムのディスク領域の使用状況に関する情報を表示します。
現在のディスク領域の使用状況を表示します。
ディスク領域を使用しているファイルのサイズに関する情報を表示します。
システムディスクに格納されているファイルのサイズおよびその他の情報を表示します。
ディレクトリおよびサブディレクトリのサイズに関する情報を表示します。
du コマンドを使用して、1 つ以上のディレクトリ、サブディレクトリ、およびファイルのサイズを表示する
ディスクの保守を行います。
定期的に不要なファイルとディレクトリを削除して、ディスクの可用性を保ちます。タイムスタンプに基づいてリストすることによって古いファイルを識別します。
古いファイルと使用されていないファイルを見つけて削除します。
find を使用して、削除対象としてマークできる使用されていないファイルを識別します。
一時ディレクトリを一度にクリアします。
一時ディレクトリを見つけ、rm –r * コマンドを使用してディレクトリ全体を削除します。
コアファイルを見つけて削除します。
find . -name core -exec rm {} \; コマンドを使用し、コアファイルを見つけて削除します。

ファイルのサイズとディスク容量の情報を表示するコマンドを次に示します。

  • zpool list – プール領域サイズ、データセットや内部メタデータに割り当てられる領域量、割り当てられない領域量を表示します。zpool(1M) のマニュアルページを参照してください。

  • zfs list – データセットや任意の子孫によって消費される領域量、データセットや任意の子孫が利用可能な領域量、このデータセットによって参照されるデータ量を表示します (プール内のほかのデータセットによって共有されることもされないこともあります)。zfs(1M) のマニュアルページを参照してください。

  • df – 空きディスクブロック数とファイル数を表示します。df(1M) のマニュアルページを参照してください。

  • du – 各サブディレクトリに割り当てられたディスク容量を表示します。du(1) のマニュアルページを参照してください。

  • find –size–size オプションで指定したサイズに基づいて、ディレクトリを再帰的に検索します。find(1) のマニュアルページを参照してください。

  • ls – ファイルのサイズを 1024 の累乗でリストします。ls(1) のマニュアルページを参照してください。

利用可能な ZFS ストレージプールおよびファイルシステムの領域を判別する場合、zpool list および zfs list コマンドは、旧バージョンの df および du コマンドより優れています。旧バージョンのコマンドでは、プールおよびファイルシステムの領域を簡単に識別できず、下位のファイルシステムまたはスナップショットによって消費される領域の詳細を表示できません。

ディスク容量の情報の表示

システムのディスク領域の使用状況に関する情報を取得するために使用するコマンドは、ファイルシステムによって異なります。次のセクションでは、ファイルシステムの適切なコマンドを使用して、ディスクの使用状況に関するデータを表示する方法を示します。

ZFS ファイルシステムのディスク領域の使用状況

ZFS のディスク領域の使用状況に関する情報を表示するには、次のように zpool コマンドを使用します。

# zpool list root-pool

ここで、root-pool はシステムのルートプールの名前です。次の例は、10G バイトが割り当てられていて 580G バイトが空き領域である rpool に関する情報を表示しています。

# zpool list rpool
NAME   SIZE  ALLOC   FREE  CAP  HEALTH  ALTROOT
rpool   68G  10.0G  58.0G  14%  ONLINE  -

このコマンドの –r オプションを使用すると、ルートプールで利用可能な領域と実際に使用されている領域を比較できます。

# zfs list -r rpool
NAME                        USED  AVAIL  REFER  MOUNTPOINT
rpool                      10.2G  56.8G   106K  /rpool
rpool/ROOT                 5.04G  56.8G    31K  legacy
rpool/ROOT/solaris         5.04G  56.8G  5.04G  /
rpool/dump                 1.00G  56.8G  1.00G  -
rpool/export                 63K  56.8G    32K  /export
rpool/export/home            31K  56.8G    31K  /export/home
rpool/swap                 4.13G  56.9G  4.00G  -

UFS ファイルシステムのディスク領域の使用状況

UFS のディスク容量の利用状況に関する情報を表示するには、df コマンドを使用します。

$ df
/                  (/dev/dsk/c0t0d0s0 ):  101294 blocks   105480 files
/devices           (/devices          ):       0 blocks        0 files
/system/contract   (ctfs              ):       0 blocks 2147483578 files
/proc              (proc              ):       0 blocks     1871 files
/etc/mnttab        (mnttab            ):       0 blocks        0 files
/etc/svc/volatile  (swap              ):  992704 blocks    16964 files
/system/object     (objfs             ):       0 blocks 2147483530 files

各ユーザーが使用しているディスク容量を表示するには、quot コマンドを使用します。

# quot /ufsfs
/dev/rdsk/c3t3d0s0:
21048   root
350   amy
250   rory

注 -  quot コマンドは、ローカルのレガシー UFS ファイルシステムに対してだけ使用できます。

ファイルのサイズに関する情報の表示

ls コマンドを使用して、ファイルサイズを調べたりソートしたりできます。また、find コマンドを使用して、サイズの制限を超えているファイルを探すことができます。詳細は、ls(1) および find(1) のマニュアルページを参照してください。


注 -  /var ディレクトリの容量がなくなった場合、/var ディレクトリに、ファイルシステム上の空き容量のあるディレクトリへのシンボリックリンクを設定しないでください。たとえそれが一時的な策であっても、デーモンプロセスおよびユーティリティーの一部に問題が生じることがあります。

ls コマンドの使用方法

ls コマンドは、特定のディレクトリのファイルのリストを表示します。次の ls のオプションは、システム上のファイルのサイズに関する情報を取得する場合に役に立ちます。

  • –l – 長形式でファイルとディレクトリのリストを表示し、それぞれのサイズをバイト単位で示します。

  • –h – ファイルやディレクトリのサイズが 1024 バイトより大きい場合、ファイルとディレクトリのサイズを K バイト、M バイト、G バイト、または T バイト単位で示します。

  • –s – ファイルとディレクトリのリストを表示し、それぞれのサイズをブロック単位で示します。

詳細は、ls(1) のマニュアルページを参照してください。

次の例は、lastlog および messages ファイルが /var/adm ディレクトリ内で 1 番目と 2 番目に大きいファイルであることを示しています。

$ cd /var/adm
$ ls -lh
total 148
-rw-------   1 uucp     bin            0 Nov 26 09:25 aculog
-r--r--r--   1 root     other       342K Nov 26 13:56 lastlog
-rw-r--r--   1 root     root         20K Nov 26 13:55 messages
-rw-r--r--   1 root     bin         3.3K Nov 26 13:56 utmpx
-rw-r--r--   1 adm      adm          19K Nov 26 13:56 wtmpx

–sh オプションを使用している次の例では、出力の最初の列は、ファイルによって使用されているブロック数を示しています。

$ ls -sh
880 -r--r--r--   1 root     other       342K Nov 26 13:56 lastlog
 25 -rw-r--r--   1 root     root         20K Nov 26 13:55 messages
  7 -rw-r--r--   1 root     bin         3.3K Nov 26 13:56 utmpx
 24 -rw-r--r--   1 adm      adm          19K Nov 26 13:56 wtmpx

ls コマンドを sort コマンドと組み合わせると、ディレクトリ内のファイルをファイルサイズなどの条件に従って昇順または降順に表示できます。sort コマンドの詳細は、sort(1) のマニュアルページを参照してください。

find コマンドの使用方法

find コマンドを使用すると、特定の検索条件に適合するファイルを検索できます。たとえば、特定のファイルサイズを超えているファイルを検索するには、次のコマンド構文を使用します。

$ find directory -size +nnn

ここで、directory には検索するディレクトリを指定し、nnn には –size オプションに指定するサイズを 512 バイトブロックで表した数値を指定します。

次の例は、現在の作業ディレクトリ内で 400 ブロックより大きいファイルを見つける方法を示しています。–print オプションは、find コマンドの出力を表示します。

$ find . -size +400 -print
./Howto/howto.doc
./Howto/howto.doc.backup
./Howto/howtotest.doc
./Routine/routineBackupconcepts.doc
./Routine/routineIntro.doc

ディレクトリのサイズに関する情報の表示

du コマンドとオプションを使用すると、ディレクトリのサイズを表示できます。さらに quot コマンドを使用すれば、ユーザーアカウントによって占められるローカル UFS ファイルシステム上のディスク容量のサイズを知ることができます。これらのコマンドの詳細は、du(1) および quot(1M) を参照してください。

du コマンドは、指定したディレクトリのサイズ、およびすべてのサブディレクトリを表示します。このコマンドは、次のオプションを指定して使用できます。

  • –a – 指定したディレクトリ内の各ファイルと各サブディレクトリのサイズと合計ブロック数を表示します。

  • –s – 指定したディレクトリ内の合計ブロック数を表示します。

  • –H – 各ディレクトリのサイズを 1000 バイト単位のブロック数で表示します。

次のコマンド構文を使用します。

$ du [options] [directory1 directory2 ...]

次の例は、/var/adm のサイズおよびそのサブディレクトリを表示しています。

$ du /var/adm
2       /var/adm/acct/nite
2       /var/adm/acct/sum
8       /var/adm/acct
2       /var/adm/sa
2       /var/adm/sm.bin
258     /var/adm

異なるディレクトリのサイズを比較するには、コマンドにそれらのディレクトリを指定します。次の例は、/var/adm/var/spool/lp のサイズの比較を示しています。

$ du /var/adm /var/spool/lp
2       /var/adm/acct/nite
2       /var/adm/acct/sum
8       /var/adm/acct
2       /var/adm/sa
2       /var/adm/sm.bin
258     /var/adm
4       /var/spool/lp/admins
2       /var/spool/lp/requests/printing....
4       /var/spool/lp/requests
4       /var/spool/lp/system
2       /var/spool/lp/fifos
24      /var/spool/lp

次の例は、ディレクトリのサイズを 1024 バイト単位のブロック数で示しています。

$ du -h /usr/share/audio
796K   /usr/share/audio/samples/au
797K   /usr/share/audio/samples
798K   /usr/share/audio