1. Для того чтобы увидеть текущую нагрузку
top
last pid: 63061; load averages: 0.27, 0.25, 0.24 up 0+04:22:40 12:43:37
106 processes: 1 running, 105 sleeping
CPU states: 6.7% user, 0.0% nice, 7.5% system, 0.7% interrupt, 85.0% idle
Mem: 341M Active, 150M Inact, 101M Wired, 1288K Cache, 98M Buf, 276M Free
Swap: 2048M Total, 38M Used, 2010M Free, 1% Inuse
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
1376 root 1 96 0 171M 70044K select 4:43 2.25% Xorg
3550 user 3 20 0 172M 166M kserel 7:22 0.00% opera
Здесь можно увидеть много интересного, но главное:
load averages: 0.27, 0.25, 0.24 - количество процессов в очереди на выполнение за 1, 5 и 15 минут соответственно. Значения меньше 1 говорят о низкой загрузке сервера, но это достаточно приблизительный и обобщённый показатель.
Более точно загрузку процессора можно увидеть в поле CPU states. В основном, нас будет интересовать параметр idle. Чем он меньше тем больше загружен процессор. Если idle долгое время составляет 0%, то сервер перегружен.
Занятость памяти в общих чертах можно контролировать по параметру Swap. Если Swap:Used составляет значительную часть от установленной на сервере памяти, то следует задуматься о снижении нагрузки ли наращивании объёма памяти.
2. Для того чтобы увидеть загрузку сетевого канала.
systat -ifstat 1
Будет показывать мгновенные значения текущего трафика на всех имеющихся на сервере сетевых интерфейсах. Обращаю ваше внимание на то, что значения указаны в килобайтах. Для переключения в килобиты следует во время работы этой команды ввести
:scale kbit
либо для мегабит
:scale mbit
3. Свободное дисковое пространство
df -h
особо следует обращать внимание на разделы home и usr - в них обычно хранится контент и var - в нём хранятся логи и базы MySQL
Посмотреть кто занимает много места, например, в папке /home можно так
du -hd1 /home/
4. Поиск процессов
Для примера найдём все процессы php (которые часто плодятся в больших количествах кроном)
ps aux|grep php
5. Завершить процесс.
Если вы увидели что какой-то процесс использует слишком много ресурсов и хотите его завершить (только если вы уверены, что точно знаете что делаете)
kill PID
где PID - это идентификатор процесса (перый столбец в выдаче команд top и второй в ps)
killall processname
где processname - имя процесса
Если процесс умирать добровольно не желает - посылаем сигнал принудительного завершения
kill -9 PID
killall -9 processname
6. Найти файл
Чтобы найти файл filename в папке /home/user и во всех подпапках
find /home/user/ -name filename
Чтобы найти файл содержащий в названии "filename" в папке /home/user и во всех подпапках
find /home/user/ -name "*filename*"
Найти в папке /home и вложенных папках все скрпты php содержащие текст "string for search"
find /home/ -name "*.php" -exec grep -l 'string for search' {} \;
7. Найти где находится программа PROGRAMM
whereis PROGRAMM
8. Посмотреть под каким пользователем вы работаете в данный момент
whoami
9. Посмотреть кто ещё подключен к серверу
w
10. Посмотреть 20 последних подключений к серверу
last -n20
11. Мягко (без обрыва соединений) перезапустить apache
apachectl graceful
12. Посмотреть версию php
php -v
13. Посмотреть модули подключенные к php
php -m
14. Редактировать крон пользователя admin
crontab -e -uadmin
если установлен midnight commander(обычно установлен) то удобнее
EDITOR=mcedit; crontab -e -uadmin