====== Производительность системы / Оборудование ======
**nmom** - многоцелевой инструмент мониторинга. Есть возможность формирования файлов в т.ч. в удобочитаемом формате html.\\
**lshw** - информация об имеющемся аппаратном обеспечении (в debian ставится отдельно).\\
**dmidecode -t** - информация о системе
**vmstat** - оперативный срез
===== CPU =====
----
Информация о доступном процессоре **/proc/cpuinfo [| grep processor]**.\\
**top** выводит перечень запущенных процессов, так же, средние данные о загрузке процессора (мин, 5мин и 15мин.), одно ядро обозначается 1 (0.5 = нагрузка 50%), 4 ядра обозначаются 4 (2.0 = нагрузка 50%).\\
**nice** - позволяет задать приоритет процессу от -20 (максимальный) до 19 (минимальный).\\
**lscpu** - информация о процессоре.
===== ОЗУ =====
----
**free** - отобразит состояние памяти.\\
* **total/used/free** - всего / используется / свободно
* **shared** - разделяемая память
* **buff/cache** - память используемая буферами ядра, кэшем страниц, может быть восстановлена приложением
* **available** - доступная для запуска новых приложений
**vmstat** - состояние файла подкачки.\\
:!: Пример: **vmstat 30 4**- 4 строки с 30ым интервалом, столбец **si**- из свопа в системную память, **so**-из памяти в своп.
:!: Swap
# Текущее состояние
swapon -s / cat /proc/swaps
# Создание из файла и включение (тут 4 гб)
dd if=/dev/zero of=/swapfile bs=1M count=4096
chown root:root /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# Для автозагрузки
/swapfile swap swap defaults 0 0
==== Еще про память ====
/proc//meminfo\\
[[https://renenyffenegger.ch/notes/Linux/fhs/proc/pid/status|Описание /proc//meminfo]]\\
**VSZ** - виртуальная память (Virtual Memory Size)\\
**RSS** - переводится как постоянное потребление памяти (Resident Set Size). Физическая память, занятая процессом\\
vmstat -s
ps -aux --sort -rss
ps -aux --sort -vsz
=== Java ===
jhsdb jmap --pid --heap
jcmd
-Xms является -XX:InitialHeapSize и -Xmx является -XX:MaxHeapSize
# Дефлотные параметры
java -XX:+PrintFlagsFinal -version | grep HeapSize
=== Java Native Memory Tracking ===
NMT необходимо включить при запуске приложения:
java -XX:NativeMemoryTracking=summary -jar app.jar
# Статистика java, по памяти
jcmd VM.native_memory summary
===== Диск =====
----
**df -h** - место на дисках. [[:linux:overall:disks|Работа с дисками]].\\
**df -i** - состояние inode.
В [[:linux:overall:apt|менеджерах пактов]] есть функции по очистке ненужных файлов.\\
**lsblk** - список дисков и разделов.\\
**fdisk -l** - так же, информация о дисках и разделах.
# Нагрузка на диски
iostat -p 1
===== Сеть =====
----
**iftop [-i eth0]** - активные соединения.\\
**nethogs eth0** - по процессам.\\
**tc** - ограничения пропускной способности.