|
|
df和du的区别以及磁盘空间使用问题 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
solaris sparc root
df -kb 结果 /dev/vx/dsk/home 12197220 11086515 988733 92% /home
du -ks 查看/home分区情况为 10 dep 27 lost+found 395517 oracle 288 bigml.lsof 212309 wei 4041696 lan 346074 xue 520 xue.log du相加的结果和df的结果不同?!
下面这篇文章给出答案 | Document Id: 26928Synopsis: du and df Differences (originally published 8/91) Update date: 2001-05-13Description: du and df Differences -- --- -- -----------
This article explains how reporting disk usage du and reporting free disk space on file systems df may show different numbers.
du --
The du user command gives the number of kilobytes contained in all files and, recursively, directories within each specified directory or file (filename). If filename is missing, `.' (the current directory) is used. A file which has multiple links to it is only counted once.
EXAMPLE:
system % du
5 ./jokes 33 ./squash 44 ./tech.papers/lpr.document 217 ./tech.papers/new.manager 401 ./tech.papers 144 ./memos 80 ./letters 388 ./window 93 ./messages 15 ./useful.news 1211 .
Note that the last number, 1211 is the grand total (in kilobytes) for the directory.
df --
The df user command displays the following information:
amount of disk space occupied by currently mounted file systems the amount of used and available space how much of the file system's total capacity has been used
Used without arguments, df reports on all mounted file systems.
EXAMPLE:
system % df
Filesystem kbytes used avail capacity Mounted on /dev/ip0a 7445 4714 1986 70% / /dev/ip0g 42277 35291 2758 93% /usr
Note: used plus avail is less than the amount of space in the file system (kilobytes) because the system reserves a fraction of the space in the file system to allow its allocation routines to work well. The amount reserved is typically about 10%. (This may be adjusted using the tunefs command. Refer to the man pages on tunefs(8) for more information.) When all the space on a file system, except for this reserve, is in use, only the super-user can allocate new files and data blocks to existing files. This, however, may cause the file system to be over allocated. When a file system is over allocated in this way, df may report that the file system is more than 100% utilized.
If arguments to df are disk partitions (for example, /dev/ip0as or path names), df produces a report on the file system containing the named file. Thus, df shows the amount of space on the file system containing the current directory.
Problem Definition ------- ----------
This section gives the technical explanation of why du and df sometimes report different totals of disk space usage.
When a program that is running in the background writes to a file while the process is running, the file to which this process is writing is deleted. Running df and du shows a discrepancy in the amount of disk space usage. The df command shows a higher value.
Explanation Summary ----------- -------
When you open a file, you get a pointer. Subsequent writes to this file references this file pointer. The write call does not check to see if the file is there or not. It just writes to the specified number of characters starting at a predetermined location. Regardless of whether the file exist or not, disk blocks are used by the write operation.
The df command reports the number of disk blocks used while du goes through the file structure and and reports the number of blocks used by each directory. As far as du is concerned, the file used by the process does not exist, so it does not report blocks used by this phantom file. But df keeps track of disk blocks used, and it reports the blocks used by this phantom file.

|
|
相关文章:相关软件: |
|