Главная Статьи Форум Помощь Блоги Инструменты Контакты
Поиск:     Расширенный поиск
Обзор по категориям:
Contact Us



Некоторые полезные команды шелла.

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

Другие вопросы в этой категории
» More articles