# Current folder space du -sh <path> # 10 biggest folders du -m <path> | sort -nr | head -n 10 # Check high directories usage. du -hcx --max-depth=5 | grep [0-9]G | sort -nr # Exclude a path from the final calculation cd /path du -sh --exclude=./relative/path/to/uploads # Check APPARENT size du -h --apparent-size /path/file # Check how much space is "wasted": lsof | grep deleted | sed 's/^.* \(REG.*deleted.*$\)/\1/' | awk '{print $5, $3}' | sort | uniq | awk '{sum += $2 } END { print sum }' # >> *if* the number is like "1.5e+10", you might need to use this to see that converted in MB or GB lsof | grep deleted | sed 's/^.* \(REG.*deleted.*$\)/\1/' | awk '{print $5, $3}' | sort | uniq | awk '{sum += $2 } END { print sum " bytes - " sum/1024**2 " MB - " sum/1024**3 " G" }' # Check the biggest files: lsof | grep deleted | sed 's/^.* \(REG.*deleted.*$\)/\1/' | awk '{print $5, $3}' | sort | uniq | awk '{print $2, $1}' | sort -nr >> than you can grep the file name from the output of "lsof | grep deleted" and check for the PID that holds that file (second column) >> and issue the following command: kill -HUP <PID> >> And check again. This should release the used file.
Apparent size is the number of bytes your applications think are in the file. It’s the amount of data that would be transferred over the network (not counting protocol headers) if you decided to send the file over FTP or HTTP. It’s also the result of
cat theFile | wc -c
, and the amount of address space that the file would take up if you loaded the whole thing usingmmap
.Disk usage is the amount of space that can’t be used for something else because your file is occupying that space.
In most cases, the apparent size is smaller than the disk usage because the disk usage counts the full size of the last (partial) block of the file, and apparent size only counts the data that’s in that last block. However, apparent size is larger when you have a sparse file (sparse files are created when you seek somewhere past the end of the file, and then write something there — the OS doesn’t bother to create lots of blocks filled with zeros — it only creates a block for the part of the file you decided to write to).
Source (clarification): http://stackoverflow.com/questions/5694741/why-is-the-output-of-du-often-so-different-from-du-b