CHAPTER 8 How to Fix The Web: Obscure Back-End Techniques and Terminal Secrets
If that was a problem, then a quick solution is to find and delete really
big files. The find command is very powerful. The -size option tells it to
look for files of at least the given size, and the -printf option tells it to
print the size (%12s, where the 12 directs the print area to be 12 characters
wide to help line things up), last modification time (%t), directory (%h), file
name (%f) and then a new line (\n). To view all files over 10 megabytes try:
$ find / -size +10M -printf "%12s %t %h/%f\n"
445631888 Mon Mar 18 13:38:07.0380913017 2013 /var/www/huge-file.zip
If you are absolutely sure that this file is superfluous, then you can use the
following command to delete the file and free up space quickly. Be warned
that there is no going back. The rm command does not have a trash folder
from which you can restore things later: $ rm /var/www/huge-file.zip
ouT of MeMoRY
To check your server’s R AM usage, run the free command, again with -m
to show in megabytes:
$ free -m
total used free shared buffers cached
Mem: 3067 2673 393 0 0 819
-/+ buffers/cache: 1853 1213
Swap: 0 0 0
This server has 3GB of total memory and 393MB free. This is fine as
Linux likes to use a lot of its memory. It’s the buffers/cache line which
you should focus on. If this is nearly all used, then your system may be
struggling to cope.
To find out what is hogging all the memory, use the top command.
It shows a real-time display of system CPU and memory usage.
Unfortunately this will also run very slowly if your server is under strain,
but it may tell you what’s causing the problem.