Поиск процесса который активно использует сеть и диск

Смотрим загрузку сети

$ nload

Смотрим кто жрет диск

$ sudo iotop

Total DISK READ :    679.22 K/s | Total DISK WRITE :      0.00 B/s
Actual DISK READ:    679.22 K/s | Actual DISK WRITE:      0.00 B/s
  TID  PRIO   USER   DISK READ   DISK WRITE  SWAPIN     IO>   COMMAND
21952  be/4 nobody  679.22 K/s     0.00 B/s  0.00 %  0.00 % smbd --foreground --no-process-group
1536   be/0 root      0.00 B/s     0.00 B/s  0.00 %  0.00 % [kdmflush]
1      be/4 root      0.00 B/s     0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 22
2      be/4 root      0.00 B/s     0.00 B/s  0.00 %  0.00 % [kthreadd]
3      be/4 root      0.00 B/s     0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
5      be/0 root      0.00 B/s     0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
7      rt/4 root      0.00 B/s     0.00 B/s  0.00 %  0.00 % [migration/0]
8      be/4 root      0.00 B/s     0.00 B/s  0.00 %  0.00 % [rcu_bh]
9      be/4 root      0.00 B/s     0.00 B/s  0.00 %  0.00 % [rcu_sched]
10     be/0 root      0.00 B/s     0.00 B/s  0.00 %  0.00 % [lru-add-drain]

У нас происходит интенсивное чтение

$ sudo iostat -kx 1
avg-cpu:   %user   %nice   %system   %iowait   %steal   %idle
            1,01    0,00      0,50      0,00     0,00   98,49

Device:    rrqm/s   wrqm/s    r/s   w/s   rkB/s  wkB/s avgrq-sz  avgqu-sz  await  r_await w_await  svctm  %util
sda          0,00     0,00   0,00  0,00    0,00   0,00     0,00      0,00   0,00     0,00    0,00   0,00  0,00
sdb          0,00     0,00   4,00  0,00  512,00   0,00   256,00      0,00   1,00     1,00    0,00   1,00  0,40
dm-0         0,00     0,00   0,00  0,00    0,00   0,00     0,00      0,00   0,00     0,00    0,00   0,00  0,00
dm-1         0,00     0,00   0,00  0,00    0,00   0,00     0,00      0,00   0,00     0,00    0,00   0,00  0,00
dm-2         0,00     0,00   4,00  0,00  512,00   0,00   256,00      0,00   1,00     1,00    0,00   1,00  0,40

atop тоже показывает нагрузку

$ atop
PRC | sys     0.24s | user 0.20s | #proc  205 | #trun      1 | #tslpi  281 | #tslpu     0 | #zombie 2    | clones 0     |              | no procacct  |
CPU | sys        2% | user    2% | irq     0% | idle    196% | wait     0% | guest     0% | ipc notavail | cycl unknown | curf 1.20GHz | curscal 60%  |
cpu | sys        1% | user    1% | irq     0% | idle     98% | cpu001 w 0% | guest     0% | ipc notavail | cycl unknown | curf 1.20GHz | curscal 60%  |
cpu | sys        1% | user    1% | irq     0% | idle     98% | cpu000 w 0% | guest     0% | ipc notavail | cycl unknown | curf 1.20GHz | curscal 60%  |
CPL | avg1     0.03 | avg5  0.12 | avg15 0.18 |              |             | csw     6822 | intr 9628    |              |              | numcpu 2     |
MEM | tot      2.7G | free 80.4M | cache 1.2G | buff    0.0M | slab  82.9M | shmem 126.8M | shrss 0.0M   | vmbal 0.0M   | hptot 0.0M   | hpuse 0.0M   |
SWP | tot      2.0G | free  1.9G |            |              |             |              |              |              | vmcom 3.1G   | vmlim 3.4G   |
LVM | centos-home   | busy    0% | read    58 | write      0 | KiB/r   130 | KiB/w      0 | MBr/s 0.7    | MBw/s 0.0    | avq 1.00     | avio 0.52 ms |
DSK | sdb           | busy    0% | read    58 | write      0 | KiB/r   130 | KiB/w      0 | MBr/s 0.7    | MBw/s 0.0    | avq 1.00     | avio 0.50 ms |
NET | transport     | tcpi  3039 | tcpo  5389 | udpi       6 | udpo      6 | tcpao      0 | tcppo 0      | tcprs 0      | tcpie 0      | udpie 0      |
NET | network       | ipi   3048 | ipo    474 | ipfrw      3 | deliv  3045 |              |              |              | icmpi 0      | icmpo 0      |
NET | enp3s1     0% | pcki  3061 | pcko  5490 | sp 1000 Mbps | si 252 Kbps | so 6606 Kbps | erri 0       | erro 0       | drpi 0       | drpo 0       |
NET | enp2s0     0% | pcki    90 | pcko    87 | sp 1000 Mbps | si   5 Kbps | so   63 Kbps | erri 0       | erro 0       | drpi 0       | drpo 0       |
NET | lo       ---- | pcki     4 | pcko     4 | sp    0 Mbps | si   0 Kbps | so    0 Kbps | erri 0       | erro 0       | drpi 0       | drpo 0       |

  PID    SYSCPU  USRCPU   VGROW  RGROW  RUID   EUID    ST  EXC  THR  S CPUNR  CPU  CMD   1/1
22073     0.07s   0.06s      0K     0K  root   root    --    -    1  S     1   1%  nload
20416     0.05s   0.04s      0K     0K  nobody nobody  --    -    2  S     0   1%  smbd
22195     0.06s   0.03s      0K     0K  svm    svm     --    -    1  R     0   1%  atop

top выводит smbd

top - 11:11:29 up 5 days, 1:47, 2 users, load average: 0,01, 0,09, 0,17
Tasks: 205 total,  1 running,  202 sleeping,  0 stopped,  2 zombie
%Cpu(s): 1,0 us,  1,2 sy,  0,0 ni,  97,6 id,  0,0 wa,  0,0 hi,  0,2 si,  0,0 st
KiB Mem :   2878452 total,     83172 free,   1462420 used,   1332860 buff/cache
KiB Swap:   2097148 total,   1952252 free,    144896 used.    1091920 avail Mem

  PID   USER   PR  NI   VIRT  RES   SHR S %CPU %MEM    TIME+  COMMAND
20416   nobody 20  0  438216 5612  4180 S  1,7  0,2  0:27.34  smbd
22073   root   20  0  22460  2768  1624 S  1,3  0,1  0:04.30  nload
22248   svm    20  0  162140 2396  1576 R  0,7  0,1  0:00.21  top

Смотрим какой файл открыт

$ sudo lsof -p 20416 | grep /home/
COMMAND     PID  TID  USER     FD   TYPE    DEVICE    SIZE/OFF        NODE  NAME
smbd      20416       nobody  cwd    DIR     253,2          26  1073741924  /home/video
smbd      20416       nobody    9r   REG     253,2  5688328780  3222776542  /home/video/transmission/downloads/Cartoons/История игрушек 3 (2010).mkv

Или

# ls -l /proc/20416/fd
итого 0
lr-x------ 1 root root 64 Май 6 10:52 4 -> /dev/urandom
lrwx------ 1 root root 64 Май 6 10:52 5 -> /var/lib/samba/private/secrets.tdb
lrwx------ 1 root root 64 Май 6 10:52 6 -> /var/lib/samba/lock/msg.lock/20416
lrwx------ 1 root root 64 Май 6 10:52 7 -> socket:[3416144]
lrwx------ 1 root root 64 Май 6 10:52 8 -> /var/lib/samba/lock/names.tdb
lr-x------ 1 root root 64 Май 6 10:52 9 -> /home/video/transmission/downloads/Cartoons/История игрушек 3 (2010).mkv

Тоже самое

# ls /proc/20416/fd/* | xargs -L 1 readlink
/dev/urandom
/var/lib/samba/private/secrets.tdb
/var/lib/samba/lock/msg.lock/20416
socket:[3416144]
/var/lib/samba/lock/names.tdb
/home/video/transmission/downloads/Cartoons/История игрушек 3 (2010).mkv

 

Если вас интересует материал /proc, вы можете заметить, что файлы /proc/<pid>/fd/x являются символической ссылкой на файл, с которым он связан. Вы можете прочитать значение символической ссылки с помощью команды readlink. Например, это показывает, что терминал stdin привязан к:

$ readlink /proc/self/fd/0
/dev/pts/43

или, чтобы получить все файлы для некоторого процесса,

ls /proc/<pid>/fd/* | xargs -L 1 readlink
image_pdfimage_print

Wine. Запуск по-умолчанию notepad.exe для редактирования *.txt Mint 19

Понадобилось в FileZilla редактировать текстовые файлы в notepad, который установлен под Wine.

Смотрим какие есть вообще ассоциации:

$ mimeopen -d file.txt
Please choose a default application for files of type text/plain

1) notepad (wine-extension-txt)
2) LibreOffice Writer (libreoffice-writer)
3) Text Editor (xed)
4) Vim (vim)
5) Other...

Блокнот установлен. Далее нужно в окошке FileZilla — Редактирование — Настройки — Правка файлов — Ассоциации файлов написать:

inc /usr/bin/wine C:\\windows\\system32\\notepad.exe

и применить. Теперь при вызове из FileZilla текстовых файлов будет открываться блокнот или любое другое приложение прописанное там.

image_pdfimage_print

Символы HTML

Специальные символы HTML

символ html-код десятичный
код
описание
&nbsp; &#160; Неразрывный пробел
&ensp; &#8194; Узкий пробел (еn-шириной в букву n)
&emsp; &#8195; Широкий пробел (em-шириной в букву m)
&ndash; &#8211; Узкое тире (en-тире)
&mdash; &#8212; Широкое тире (em -тире)
&shy; &#173; Мягкий перенос
а́ &#769; Ударение, ставится после “ударной” буквы
© &copy; &#169; Копирайт
® &reg; &#174; Знак зарегистрированной торговой марки
&trade; &#8482; Знак торговой марки
º &ordm; &#186; Копье Марса
ª &ordf; &#170; Зеркало Венеры
&permil; &#8240; Промилле
π &pi; &#960; Пи (используйте Times New Roman)
¦ &brvbar; &#166; Вертикальный пунктир
§ &sect; &#167; Параграф
° &deg; &#176; Градус
µ &micro; &#181; Знак “микро”
&para; &#182; Знак абзаца
&hellip; &#8230; Многоточие
&oline; &#8254; Надчеркивание
´ &acute; &#180; Знак ударения
&#8470; Знак номера
🔍 &#128269; Лупа (наклонённая влево)
🔎 &#128270; Лупа (наклонённая вправо)
&#9742; Телефон
&#9993; Конверт, email, почта
💾 &#128190; Дискета
🛠 &#128736; Молоток и гаечный ключ, настройка
🔒 &#128274; Замок закрыт
🔓 &#128275; Замок открыт
🔔 &#128276; Колокольчик
🔕 &#128277; Колокольчик перечеркнутый
🗑 &#128465; Урна
🔥 &#128293; Огонь
🛇 &#128711; Запрещено
&#9940; Вход запрещен (кирпич)
&#9971; Фраг в воронке, местоположение, место встречи, гольф
 

знаки арифметических и математических операций
× &times; &#215; Умножить
÷ &divide; &#247; Разделить
< &lt; &#60; Меньше
> &gt; &#62; Больше
± &plusmn; &#177; Плюс/минус
¹ &sup1; &#185; Степень 1
² &sup2; &#178; Степень 2
³ &sup3; &#179; Степень 3
¬ &not; &#172; Отрицание
¼ &frac14; &#188; Одна четвертая
½ &frac12; &#189; Одна вторая
¾ &frac34; &#190; Три четверти
 frasl; &#8260; Дробная черта
 minus; &#8722; Минус
&le; &#8804; Меньше или равно
&ge; &#8805; Больше или равно
&asymp; &#8776; Приблизительно (почти) равно
&ne; &#8800; Не равно
&equiv; &#8801; Тождественно
&radic; &#8730; Квадратный корень (радикал)
&infin; &#8734; Бесконечность
&sum; &#8721; Знак суммирования
&prod; &#8719; Знак произведения
&part; &#8706; Частичный дифференциал
&int; &#8747; Интеграл
&forall; &#8704; Для всех (видно только если жирным шрифтом)
&exist; &#8707; Существует
&empty; &#8709; Пустое множество
Ø &Oslash; &#216; Диаметр
&isin; &#8712; Принадлежит
&notin; &#8713; Не принадлежит
&ni; &#8727; Содержит
&sub; &#8834; Является подмножеством
&sup; &#8835; Является надмножеством
&nsub; &#8836; Не является подмножеством
&sube; &#8838; Является подмножеством либо равно
&supe; &#8839; Является надмножеством либо равно
&oplus; &#8853; Плюс в кружке
&otimes; &#8855; Знак умножения в кружке
&perp; &#8869; Перпендикулярно
&ang; &#8736; Угол
&and; &#8743; Логическое И
&or; &#8744; Логическое ИЛИ
&cap; &#8745; Пересечение
&cup; &#8746; Объединение
знаки валют
&euro; &#8364; Евро
¢ &cent; &#162; Цент
£ &pound; &#163; Фунт
¤ &current; &#164; Знак валюты
¥ &yen; &#165; Знак йены и юаня
ƒ &fnof; &#402; Знак флорина
&#8381; Знак рубля
маркеры, птички, галочки, check mark
&bull; &#8226; Простой маркер
&#9675; Круг
· &middot; &#183; Средняя точка
&#8224; Крестик
&#8225; Двойной крестик
&spades; &#9824; Пики
&clubs; &#9827; Трефы
&hearts; &#9829; Червы
&diams; &#9830; Бубны
&loz; &#9674; Ромб
&#10084; Жирное сердце
&#10003; Символ галочка
&#10004; Жирная отметка галочкой
𐄂 &#65794; Крестик
🗸 &#128504; Тонкая галочка
&#9989; Жирная незакрашенная отметка галочка
&#9745; Галочка в квадрате
🗹 &#128505; Жирная галочка в квадрате
&#9888; Внимание!
карандаши, перья, кисти
&#9997; Пишущая рука
&#9998; Карандаш, направленный вправо-вниз
&#9999; Карандаш
&#10000; Карандаш, направленный вправо-вверх
&#10001; Незакрашенное острие пера
&#10002; Закрашенное острие пера
🖌 &#128396; Кисть, направленная влево-вниз
кавычки
&quot; &#34; Двойная кавычка
& &amp; &#38; Амперсанд
« &laquo; &#171; Левая типографская кавычка (кавычка-елочка)
» &raquo; &#187; Правая типографская кавычка (кавычка-елочка)
&#8249; Одиночная угловая кавычка открывающая
&#8250; Одиночная угловая кавычка закрывающая
&prime; &#8242; Штрих (минуты, футы)
&Prime; &#8243; Двойной штрих (секунды, дюймы)
&lsquo; &#8216; Левая верхняя одиночная кавычка
&rsquo; &#8217; Правая верхняя одиночная кавычка
&sbquo; &#8218; Правая нижняя одиночная кавычка
&ldquo; &#8220; Кавычка-лапка левая
&rdquo; &#8221; Кавычка-лапка правая верхняя
&bdquo; &#8222; Кавычка-лапка правая нижняя
&#10075; Одиночная английская кавычка открывающая
&#10076; Одиночная английская кавычка закрывающая
&#10077; Двойная английская кавычка открывающая
&#10078; Двойная английская кавычка закрывающая
стрелки
&larr; &#8592; Стрелка влево
&uarr; &#8593; Стрелка вверх
&rarr; &#8594; Стрелка вправо
&darr; &#8595; Стрелка вниз
&harr; &#8596; Стрелка влево и вправо
&#8597; Стрелка вверх и вниз
&crarr; &#8629; Возврат каретки
&lArr; &#8656; Двойная стрелка влево
&uArr; &#8657; Двойная стрелка вверх
&rArr; &#8658; Двойная стрелка вправо
&dArr; &#8659; Двойная стрелка вниз
&hArr; &#8660; Двойная стрелка влево и вправо
&#8661; Двойная стрелка вверх и вниз
&#9650; Треугольная стрелка вверх
&#9660; Треугольная стрелка вниз
&#9658; Треугольная стрелка вправо
&#9668; Треугольная стрелка влево
звездочки, снежинки
&#9731; Снеговик
&#10052; Снежинка
&#10053; Зажатая трилистниками снежинка
&#10054; Жирная остроугольная снежинка
&#9733; Закрашенная звезда
&#9734; Незакрашенная звезда
&#10026; Незакрашенная звезда в закрашенном круге
&#10027; Закрашенная звезда с незакрашенным кругом внутри
&#10031; Вращающаяся звезда
&#9885; Начерченная белая звезда
&#9898; Средний незакрашенный круг
&#9899; Средний закрашенный круг
&#9913; Секстиле (типа снежинка)
&#10037; Восьмиконечная вращающаяся звезда
&#10057; Звёздочка с шарообразными окончаниями
&#10059; Жирная восьмиконечная каплеобразная звёздочка-пропеллер
&#10042; Шестнадцатиконечная звёздочка
&#10041; Двенадцатиконечная закрашенная звезда
&#10040; Жирная восьмиконечная прямолинейная закрашенная звезда
&#10038; Шестиконечная закрашенная звезда
&#10039; Восьмиконечная прямолинейная закрашенная звезда
&#10036; Восьмиконечная закрашенная звезда
&#10035; Восьмиконечная звёздочка
&#10034; Звёздочка с незакрашенным центром
&#10033; Жирная звёздочка
&#10023; Заострённая четырёхконечная незакрашенная звезда
&#10022; Заострённая четырёхконечная закрашенная звезда
&#9055; Звезда в круге
&#8859; Снежинка в круге
часы, время
&#9200; Будильник
&#8986; Наручные часы
&#8987; Песочные часы
&#9203; Песочные часы
🕰 &#128368; Каминные часы
Греческий алфавит
строчные прописные описание
символ html-код символ html-код
α &alpha; Α &Alpha; Альфа
β &beta; Β &Beta; Бета
γ &gamma; Γ &Gamma; Гамма
δ &delta; Δ &Delta; Дельта
ε &epsilon; Ε &Epsilon; Эпсилон
ζ &zeta; Ζ &Zeta; Дзета
η &eta; Η &Eta; Эта
θ &theta; Θ &Theta; Тета
ι &iota; Ι &Iota; Йота
κ &kappa; Κ &Kappa; Каппа
λ &lambda; Λ &Lambda; Лямбда
μ &mu; Μ &Mu; Мю
ν &nu; Ν &Nu; Ню
ξ &xi; Ξ &Xi; Кси
ο &omicron; Ο &Omicron; Омикрон
π &pi; Π &Pi; Пи
ρ &rho; Ρ &Rho; Ро
σ &sigma; Σ &Sigma; Сигма
ς &sigmaf; Окончательная сигма
τ &tau; Τ &Tau; Тау
υ &upsilon; Υ &Upsilon; Ипсилон
φ &phi; Φ &Phi; Фи
χ &chi; Χ &Chi; Хи
ψ &psi; Ψ &Psi; Пси
ω &omega; Ω &Omega; Омега

Латинские буквы

Иероглифы

 

image_pdfimage_print

OpenVPN: Error “MULTI: bad source address from client [a.b.c.d], packet dropped”

Если клиент уже находится за NAT-ом, проброс трафика не заработает, а в логах можно будет найти строки вроде “MULTI: bad source address from client [a.b.c.d], packet dropped” — так как у OpenVPN нет правил для обработки пакетов из подсети a.b.c.0/24, они дропаются. Поэтому прописываем нужные правила: в /etc/openvpn/server.conf добавляем строки

client-config-dir ccd           # директория с настройками для клиентов
route a.b.c.0 255.255.255.0     # обрабатывать пакеты из подсети

а в /etc/openvpn/ccd/ создаем файл client_name1.conf и в нем пишем

iroute a.b.c.0 255.255.255.0    # разрешаем доступ к VPN из подсети a.b.c.0/24

Настройка серверной части закончена, перезапускаем OpenVPN.

$ sudo systemctl restart openvpn@server

Теперь конфиг файл сервера примет вид:

....
server 10.8.0.0 255.255.255.0 # подсеть для туннеля, может быть любой
route 10.8.0.0 255.255.255.252 # указываем подсеть, к которой будем обращаться через vpn rab
route 192.168.1.0 255.255.255.0 # обрабатывать пакеты из подсети 192.168.1.0/24 (home lan)
push "route 192.168.113.0 255.255.255.0" # передаем маршрут клиентам

## START Закоментировать 2 строки если интернет-шлюз не нужен
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 10.8.0.1"
## END
....

Соответственно клиентский будет выглядеть так:

# cat /etc/openvpn/ccd/user-server-pc
push "route 192.168.36.0 255.255.255.0"
iroute 192.168.1.0 255.255.255.0
route 192.168.36.0 255.255.255.0

Перегружаем сервис:

# systemctl restat openvpn@server
# systemctl status openvpn@server

http://awolf.ru/blog/openvpn-setup

image_pdfimage_print

Утилиты для просмотра входов в систему lastlog, btmp, utmp, wtmp

lastlog

lastlog выводит информацию (имя пользователя, порт и дату последнего входа) о входах в систему, содержащуюся в файле /var/log/lastlog. По умолчанию строки выводятся в том же порядке, в котором они указаны в /etc/passwd

btmp

Этот файл содержит логи неудачных попыток входа в систему.

Для корректного обновления этого файла у вас должен быть настроен файл конфигурации logrotate.conf примерно таким образом:

/var/log/btmp {
monthly
minsize 1M
create 0600 root utmp
rotate 1
}

Для просмотра файла используем команду:

# last -f /var/log/btmp

Вы можете изменить количество создаваемых лог файлов в параметре rotate.
Обычно мы можем наблюдать в этом файле попытки подбора имени и пароля для входа в систему.
Для очистки лога используем команду:

# cat /dev/null > /var/log/btmp
/var/run/utmp

Этот файл содержит информацию о пользователях, которые в настоящее время вошли в систему.
Команда «who» использует этот файл для отображения зарегистрированных пользователей.

wtmp

Файл wtmp записывает все логины и логауты. Его формат точно так же, как и utmp, за исключением того, что нулевое имя пользователя указывает на выход из соответствующего терминала.

Кроме того, имя терминала ~ с отключением или перезагрузкой имени пользователя указывает на выключение или перезагрузку системы, а пара имен терминалов | /} регистрирует старое / новое системное время, когда дата (1) меняет его. wtmp поддерживается логином (1), init (8) и некоторыми версиями getty (8) (например, mingetty (8) или agetty (8)).

# last -f /var/log/wtmp | less
# utmpdump /var/log/wtmp | less
image_pdfimage_print

Мониторинг sar, atop, dstat

sar — показывает более чем достаточную информацию о необходимых нам четырех ресурсах системы, умеет «возвращаться в прошлое», но не умеет фокусироваться на процессах.

vmstat и iostat — могут мониторить CPU, память и использование диска только на системном уровне, но не на уровне процесса, также не умеют «возвращаться в прошлое».

top — как безусловно самая популярная утилита, мониторит CPU и память на уровне системы и на уровне процессов. Но как и многие другие показывает только текущую ситуацию, самым главным минусом на мой взгляд это то, что ее показания не всегда точны, используя утилиту top мы можем столкнуться с такой проблемой: система будет указывать нам что занять 90% CPU, а на самом деле сумма загруженности CPU на уровне процессов будет 40% (разница в 50% процентов указывает, что система показывают нам информацию между предыдущим и текущим снимком, хотя система в принципе уже свободна). Т.е достоверность и информативность немного хромает.

Ниже приведена таблица сравнения этих систем по характеристикам.

image

Утилита atop по умолчанию умеет показывать загрузку по процессору, памяти, дискам и сети. Также доступен патч, который будет показывать использование сети по процессам. По умолчанию стандартным выводом команды является следующая информация:

Как и в стандартном выводе top экран разделен на две половины, в первой из них указаны данные о системе, а во второй данные по процессам.

В верхней половине видна не только информация по процессору и по памяти как в стандартном выводе top, а еще информация касательно сети и дисков. Если мы обратим внимание на 2 строку данного вывода, просуммировав значения (3+2+0+195+0) мы получим 200% — это означает, что система является 2 процессорной, и каждый из них имеет по 100%, ниже дается деление по каждому процессору, на сколько тот или иной занят. Ниже после этих строк указана оперативная память, информация по дискам, и сетевым интерфейсам.

Более подробное описание каждого столбца можно найти в man странице к данной утилите, кстати на редкость подробное описание.

Естественно мы можем менять ее вид так как нам захочется используя горячие клавиши, ниже я указал наиболее интересные из них,

m — выстроит процессы по занятой памяти
d — построит процессы по использованию диска
n — выстроит процессы по использованию сети (доступно только с установленным патчем)
v — покажет более подробную информацию о процессах (пользователя, дату и время начала процесса)
u — выстроит таблицу по самым прожорливым пользователям
Использование shift+(d,m,n) выстроит текущий список по выше указанным параметрам.
i — изменение времени проверки, по умолчанию 10 секунд.
g — вернет все в дефолтный вывод.

Теперь давайте посмотрим как все же пользоваться функцией «возврата в прошлое», у утилиты atop при стандартной установке есть такая полезная «фича», которая включает ночное логирование производительности системы. Утилита по дефолту снимает показания каждые 10 минут, и сбрасывает их в лог /var/log/atop-YYYYMMDD.

 

 

****

%iowait – показатель, означающий процентное соотношение времени процессора, потраченное на ожидание ввода/вывода.

Высокий %iowait говорит о том, что система ограничена возможностями дисковой памяти, выполняя множество операций дискового ввода-вывода, что приводит к замедлению работы системы.

****
uptime
****

Для многоядерных систем лучше смотреть число cpu cores.

$ cat /proc/cpuinfo | grep cores
cpu cores: 4
cpu cores: 4
cpu cores: 4
cpu cores: 4
cpu cores: 4
cpu cores: 4
cpu cores: 4
cpu cores: 4

(как раз тот случай — 4 физических ядра, 8 «логических»).

LA может быть хорошим оповещением — если вырастает в 10 раз выше обычного — надо срочно спасать сервер пока контроль не потерял. Как правильно замечали про NFS (особенно с –hard) бывает и 1200 LA при отлично работающем сервере.

Так же неплохим критерием опасности является CPU idle — если среднее значение за день меньше 30% надо по этому поводу что-то предпринять.

Очень часто LA является указателем на нехватку памяти — мониторить свободную память в линуксе дело еще менее благодарное чем гадать на LA, но все вместе составляет симптом. Первейшее дело это запустить ‘vmstat 1’ и смотреть колонки r,b,si и so. Если в b какие неадекватные цифры, а в r единички и в то же время в si/so счетчик идет на тысячи и десятки тысяч — надо прям щаз убивать какой-то жирный процесс, а то можно потерять контроль.

***
LA может быть высоким, но реально система будет ненагруженной. Будут просто висеть процессы со статусом D например.
Зачастую завершение этих процессов невозможно т.к. это uninterruptible sleep (usually IO). Помогает перезагрузка.
***

Моё грубое определение Load в Linux — это число процессов, находящихся в состоянии R (running or runnable (on run queue)) + число процессов в состоянии D (uninterruptible sleep (usually IO)). Load average усредняет эти значения по хитрой формуле (кажется, это экспоненциально взвешенное скользящее среднее).

Посмотреть статусы можно через ps.

Статья в таком виде не даёт никакого понимания о LA в Linux.

Мало того, LA в Linux вообще не информативен, ибо смешивает очередь I/O и очередь на выполнение процессором. Как я уже говорил, смотреть нужно в ps.

***
https://habr.com/ru/post/216827/
dstat -tldnpms 10

При этом будет выводиться:

  • текущее время – t
  • средняя загрузка системы – l
  • использования дисков – d
  • загрузка сетевых устройств – n
  • активность процессов – p
  • использование памяти – m
  • использование подкачки – s
  • с интервалов в 10 секунд

Еще пример использования. Вывод самых прожорливых процессов:

dstat -tl -M top-cpu,top-io -d -M top-mem -m  10

dstat -tl –top-cpu -d –top-io -n –top-mem -m 10

image_pdfimage_print

bond mode 4 – агрегация сетевых интерфейсов

Сервер с CentOS 7, коммутатор D-Link DES 2810

Нужно сделать агрегацию каналов, с последующей нарезкой vlan-ов. Для этой цели в сервере стоит две одинаковый сетевые карточки и они подключены в свитч, который настроим позже.

Проверяем как увиделись карточки в системе:

# lspci | grep -i ether
04:00.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
04:01.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
04:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (rev 10)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)

Проверяем есть ли модуль в системе:

# lsmod | grep bonding
bonding 152656 0

Создаем конф файл ifcfg-bond0:

# vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPV6INIT=no
MTU=9000
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
IPADDR=192.168.113.84
PREFIX=24
GATEWAY=192.168.113.1
DNS1=127.0.0.1
DNS2=192.168.113.1
DNS3=8.8.8.8
DOMAIN=example.com
BOOTPROTO=none
BONDING_OPTS="mode=802.3ad xmit_hash_policy=layer2+3 lacp_rate=1 miimon=100"

Проверяем! Важно, что бы в секции в строке МАС адрес были не нули, так это будет означать, что обмен пакетами не происходит:

# cat /proc/net/bonding/bond0 | less
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
System MAC address: 00:07:e9:89:ce:75
Active Aggregator Info:
        Aggregator ID: 1
        Number of ports: 2
        Actor Key: 9
        Partner Key: 1
        Partner Mac Address: 1c:af:f7:e1:b6:71

Slave Interface: enp4s0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: 00:07:e9:89:ce:75
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
   system priority: 65535
   system mac address: 00:07:e9:89:ce:75
   port key: 9
   port priority: 255
   port number: 1
   port state: 63
details partner lacp pdu:
   system priority: 32768
   system mac address: 1c:af:f7:e1:b6:71
   oper key: 1
   port priority: 128
   port number: 25
   port state: 61


Slave Interface: enp4s1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:07:e9:89:cb:45
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
   system priority: 65535
   system mac address: 00:07:e9:89:ce:75
   port key: 9
   port priority: 255
   port number: 2
   port state: 63
details partner lacp pdu:
   system priority: 32768
   system mac address: 1c:af:f7:e1:b6:71
   oper key: 1
   port priority: 128
   port number: 26
   port state: 61

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-network_bonding_using_the_command_line_interface#sec-Create_a_Channel_Bonding_Interface

Настройка Network Bonding с LACP между CentOS Linux 7.2 и коммутатором Cisco 3560G

image_pdfimage_print

Полезные ссылки

Таблица соответствия масок подсетей

Короткая маска подсети показывает, сколько битов из 32-битного адреса IPv4 отводится под адреса сети. Соответственно, количество доступных адресов хостов можно получить, возведя число 2 в степень, равную количеству битов, оставшихся на хосты. Десятичную маску можно получить, последовательно вычитая количество хостов из числа 255, начиная с последнего октета.

Калькулятор сети


Введение в UNIX. Алексей Федосеев (2006)

Курс позиционируется как набор лекций и практических лабораторных работ объёмом в один семестр. Он был опробован на Факультете Военного Обучения МГТУ им. Н. Э. Баумана. Материалы курса включают тексты лекций с презентациями к ним, покомандно расписанные сценарии практических занятий с пояснениями и краткими методическими материалами к ним, контрольные вопросы и задания по всему материалу.


Настройка сети Red Hat 7

Официальная документация.


Samba Security Releases

Официальная страница с патчами и описаниями каждой уязвимости.


Bash скрипты


Linux Advanced Routing & Traffic Control HOWTO

Практическое руководство по применению iproute2 (и в меньшей степени netfilter) для управления трафиком.


Ограничение скорости – шейпинг канала

Разные HowTo


Различные сайты со статьями


Памятка по grep

Памятка по коммандам и их генератор


Конвертор времени online

Данный инструмент, в первую очередь, будет полезен веб-мастерам, которые постоянно имеют дело с большими объемами дат или часто в своей работе обращаются к их элементам. С помощью инструмента “Unixtime конвертер” можно легко конвертировать Unix время в понятную для пользователя дату (и наоборот), узнать текущее Unix epoch время, а также получить Unix время в различных языках программирования, СУБД и операционных системах.


Поиск в продуктах известных уязвимостей

Просмотр на сайте известных уязвимостей с обширным поиском


LARTC

Оригинальную версию документа вы найдете по адресу http://lartc.org/.

Практическое руководство по применению iproute2 (и в меньшей степени netfilter) для управления трафиком.


Проверка SSL

Позволяет оценить ваш сайт в отношении безопасности SSL-сертификата. Предоставляет очень подробную техническую информацию. Советую системным администраторам, аудиторам, инженерам по интернет-безопасности для выявления и наладки “слабых” параметров.

Еще инструменты

image_pdfimage_print

kernel panic после обновления ядра в CentOS

Система не загружается с ошибкой

Kernel Panic - not syncing: VFS: Unable to mount root fs

Один из примеров решения данной проблемы – переустановка пакетов ядра. Для этого загружаемся с другого рабочего ядра, если они не были удалены. В примере будет рассмотрен вариант с kernel-3.10.0-693.17.1.el7

Находим установленные пакеты:

# rpm -qa |grep "693.17.1"
kernel-tools-3.10.0-693.17.1.el7.x86_64
kernel-tools-libs-3.10.0-693.17.1.el7.x86_64
kernel-devel-3.10.0-693.17.1.el7.x86_64
python-perf-3.10.0-693.17.1.el7.x86_64
kernel-headers-3.10.0-693.17.1.el7.x86_64
kernel-3.10.0-693.17.1.el7.x86_64

И выполняем их переустановку.

yum reinstall kernel-tools-3.10.0-693.17.1.el7.x86_64
yum reinstall kernel-tools-libs-3.10.0-693.17.1.el7.x86_64
yum reinstall kernel-headers-3.10.0-693.17.1.el7.x86_64
yum reinstall python-perf-3.10.0-693.17.1.el7.x86_64
yum reinstall kernel-devel-3.10.0-693.17.1.el7.x86_64
yum reinstall kernel-3.10.0-693.17.1.el7.x86_64

Одной командой это можно выполнить так:

# yum reinstall kernel-tools-3.10.0-693.17.1.el7.x86_64 kernel-tools-libs-3.10.0-693.17.1.el7.x86_64 kernel-headers-3.10.0-693.17.1.el7.x86_64 python-perf-3.10.0-693.17.1.el7.x86_64 kernel-devel-3.10.0-693.17.1.el7.x86_64 kernel-3.10.0-693.17.1.el7.x86_64

Находим все доступные ядра в системе:

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

0 : CentOS Linux (3.10.0-693.17.1.el7.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-693.5.2.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-693.2.2.el7.x86_64) 7 (Core)
3 : CentOS Linux (3.10.0-514.16.1.el7.x86_64) 7 (Core)
4 : CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
5 : CentOS Linux (0-rescue-46c550f369dc44009c606f234f9c2895) 7 (Core)

Поскольку мы хотим использовать новое ядро, то укажем его для загрузки по умолчанию (порядковый номер ядра из списка всех ядер в системе):

grub2-set-default 0

Генерируем конфигурационный файл grub:

grub2-mkconfig -o /boot/grub2/grub.cfg

Перезагружаемся и проверяем версию ядра в системе.

# uname -r
3.10.0-693.17.1.el7.x86_64

https://bogachev.biz/2018/02/07/ustranyaem-kernel-panic-posle-obnovleniya-yadra-v-centos/

image_pdfimage_print

Утилита lsof

List all Open Files with lsof Command

Sections and it’s values are self-explanatory. However, we’ll review FD & TYPE columns more precisely.

FD – stands for File descriptor and may seen some of the values as:

  • cwd current working directory
  • rtd root directory
  • txt program text (code and data)
  • mem memory-mapped file

Also in FD column numbers like 1u is actual file descriptor and followed by u,r,w of it’s mode as:

  • r for read access.
  • w for write access.
  • u for read and write access.

TYPE – of files and it’s identification.

  • DIR – Directory
  • REG – Regular file
  • CHR – Character special file.
  • FIFO – First In First Out

List User Specific Opened Files

The below command will display the list of all opened files of user uba.

# lsof -u uba
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 17162 uba cwd DIR 253,0 242 96 /
sshd 17162 uba rtd DIR 253,0 242 96 /
sshd 17162 uba txt REG 253,0 853040 17110610 /usr/sbin/sshd
sshd 17162 uba mem REG 253,0 15480 33614436 /usr/lib64/security/pam_lastlog.so
sshd 17162 uba mem REG 253,0 15632 16840218 /usr/lib64/libpam_misc.so.0.82.0
sshd 17162 uba mem REG 253,0 309272 33605135 /usr/lib64/security/pam_systemd.so
sshd 17162 uba mem REG 253,0 19600 33614437 /usr/lib64/security/pam_limits.so

Find Processes running on Specific Port

To find out all the running process of specific port, just use the following command with option -i. The below example will list all running process of port 22.

# lsof -i TCP:22
COMMAND   PID  USER  FD   TYPE  DEVICE   SIZE/OFF  NODE   NAME
sshd     3507  root   3u  IPv4   27109        0t0  TCP    *:ssh (LISTEN)
sshd    17160  root   3u  IPv4 1930572        0t0  TCP    mail:ssh->gateway:48242 (ESTABLISHED)
sshd    17162   uba   3u  IPv4 1930572        0t0  TCP    mail:ssh->gateway:48242 (ESTABLISHED)

List Only IPv4 & IPv6 Open Files

In below example shows only IPv4 and IPv6 network files open with separate commands.

# lsof -i 4
COMMAND   PID    USER  FD   TYPE  DEVICE SIZE/OFF NODE NAME
rsync     3090   root   4u  IPv4   23493      0t0  TCP *:rsync (LISTEN)
chronyd   3249 chrony   1u  IPv4   25647      0t0  UDP localhost:323 
sshd      3507   root   3u  IPv4   27109      0t0  TCP *:ssh (LISTEN)
openvpn   3511 nobody   6u  IPv4   30082      0t0  UDP *:openvpn 
redis-ser 3515  redis   4u  IPv4   27976      0t0  TCP localhost:6379 (LISTEN)
redis-ser 3515  redis   5u  IPv4 1935299      0t0  TCP localhost:6379->localhost:56878 (ESTABLISHED)
redis-ser 3515  redis   6u  IPv4 1935301      0t0  TCP localhost:6379->localhost:56880 (ESTABLISHED)
redis-ser 3515  redis   7u  IPv4 1946266      0t0  TCP localhost:6379->localhost:56886 (ESTABLISHED)
redis-ser 3515  redis   8u  IPv4 1946268      0t0  TCP localhost:6379->localhost:56888 (ESTABLISHED)
nmbd      3520   root  14u  IPv4   28204      0t0  UDP *:netbios-ns
# lsof -i 6

List Open Files of TCP Port ranges 1-1024

To list all the running process of open files of TCP Port ranges from 1-1024.

# lsof -i TCP:1-1024
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 3090 root 4u IPv4 23493 0t0 TCP *:rsync (LISTEN)
sshd 3507 root 3u IPv4 27109 0t0 TCP *:ssh (LISTEN)
smbd 3571 root 30u IPv4 30137 0t0 TCP tst.tst-amo.net.ua:microsoft-ds (LISTEN)
smbd 3571 root 31u IPv4 30138 0t0 TCP tst.tst-amo.net.ua:netbios-ssn (LISTEN)
smbd 3571 root 32u IPv4 30139 0t0 TCP mail:microsoft-ds (LISTEN)
smbd 3571 root 33u IPv4 30140 0t0 TCP mail:netbios-ssn (LISTEN)

Exclude User with ‘^’ Character

# lsof -i -u^root
COMMAND     PID      USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
chronyd    3249    chrony    1u  IPv4   25647      0t0  UDP localhost:323 
openvpn    3511    nobody    6u  IPv4   30082      0t0  UDP *:openvpn 
redis-ser  3515     redis    4u  IPv4   27976      0t0  TCP localhost:6379 (LISTEN)
memcached  3522 memcached   26u  IPv4   28032      0t0  TCP localhost:memcache (LISTEN)
icecast    3523   icecast    4u  IPv4   27491      0t0  TCP mail:irdmi (LISTEN)

Find Out who’s Looking What Files and Commands?

Below example shows user uba is using command like ping and /home/uba directory .

# lsof -i -u svm |grep ping
ping 17660 uba cwd DIR 253,2 4096 99 /home/uba
ping 17660 uba rtd DIR 253,0 242 96 /
ping 17660 uba txt REG 253,0 66176 210234 /usr/bin/ping
ping 17660 uba mem REG 253,0 106070960 987152 /usr/lib/locale/locale-archive
List all Network Connections

The following command with option ‘-i’ shows the list of all network connections ‘LISTENING & ESTABLISHED’.

# lsof -i

Search by PID

The below example only shows whose PID is 1 [One].

# lsof -p 1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF   NODE  NAME
systemd   1 root cwd DIR  253,0      242     96  /
systemd   1 root rtd DIR  253,0      242     96  /
systemd   1 root txt REG  253,0  1620416 154627  /usr/lib/systemd/systemd

Kill all Activity of Particular User

Sometimes you may have to kill all the processes for a specific user. Below command will kills all the processes of uba user.

# kill -9 'lsof -t -u uba'

Убить процес пользователя uba ping:

#  lsof -i -u uba |  grep ping
# lsof -p 17660
# kill -9 `lsof -t -p 17660`

10 lsof Command Examples in Linux

image_pdfimage_print