Понадобилось на одном из серверов найти что и кто использует из памяти, в результате получился такой скрипт:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #!/bin/bash # Получаем общий объём физической памяти в гигабайтах total_mem_gb=$(awk '/MemTotal/ {printf "%.3f", $2/1024/1024}' /proc/meminfo) ps -eo user,comm,rss --sort=-rss | awk -v total_mem="$total_mem_gb" ' BEGIN {     printf "%-15s %-30s %10s\n", "Пользователь", "Процесс", "Память (ГБ)"     print "-----------------------------------------------------------------------" } NR>1 {     # Пропускаем процессы ядра     if ($2 ~ /^kworker|^rcu_|^migration|^watchdog|^ksoftirqd|^kswapd|^kthreadd|^pool_workqueue_|^mm_|^cpuhp_|^kdevtmpfs|^irq|^idle/) next     mem_gb = $3 / 1024 / 1024     if (mem_gb < 0.001) next  # игнорируем совсем мелкие     user_mem[$1] += mem_gb     total += mem_gb     printf "p:%-15s %-30s %10.3f\n", $1, $2, mem_gb } END {     print "-----------------------------------------------------------------------"     print ""     print "Использование по пользователям:"     print "-----------------------------------------------------------------------"     for (u in user_mem)         printf "u:%-15s %10.3f\n", u, user_mem[u]     print "-----------------------------------------------------------------------"     percent = (total / total_mem) * 100     printf "%-15s %10.3f из %.3f ГБ (%.1f%%)\n", "Всего используется:", total, total_mem, percent }' | 
Вывод выглядит вот так:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | ~# memuse Пользователь    Процесс                        Память (ГБ) ----------------------------------------------------------------------- mysql           mariadbd                            0.226 root            x-ui                                0.053 www-data        php-fpm8.2                          0.052 www-data        php-fpm8.2                          0.052 www-data        php-fpm8.2                          0.048 root            xray-linux-amd6                     0.034 root            systemd-journal                     0.033 memcache        memcached                           0.018 root            php-fpm8.2                          0.014 root            sshd                                0.011 root            systemd                             0.010 root            atop                                0.009 www-data        apache2                             0.009 root            systemd                             0.008 www-data        apache2                             0.007 www-data        nginx                               0.007 root            bash                                0.006 root            apache2                             0.005 root            systemd-logind                      0.005 root            ps                                  0.004 polkitd         polkitd                             0.004 root            sshd                                0.004 root            (sd-pam)                            0.003 root            systemd-udevd                       0.003 root            memuse                              0.003 message+        dbus-daemon                         0.003 root            awk                                 0.003 root            qemu-ga                             0.003 root            nginx                               0.002 root            cron                                0.002 systemd+        systemd-timesyn                     0.002 ----------------------------------------------------------------------- Использование по пользователям: ----------------------------------------------------------------------- systemd+             0.002 message+             0.003 memcache             0.018 polkitd              0.004 www-data             0.174 root                 0.215 mysql                0.226 ----------------------------------------------------------------------- Всего используется:      0.642 из 0.938 ГБ (68.4%) | 
Появилась задача по созданию бэкапов на одной из своих VPS. Решил собрать решение на Borg Backup для хранения и на MariaDB-Backup для бэкапа БД. Borg выбран ввиду того, что он умеет делать инкрементальные бэкапы и дедупликацию, что в рамках ограниченного места на VPS очень актуально. А еще есть возможность создавать защищенные бэкапы. По итогу, все […]
Потребовалась биллинговая система под свои задачи. Решил глянуть open source решения, из тех что глянул — это: FossBilling — нашел случайно, потыкал демку на их сайте, показалась интересной. Joonte JBs Billing — давно знал, отечественное решение, есть возможность общаться с основным разработчиком напрямую. В общем выбрал второй вариант. И сразу же первые грабли, нет документации, […]
На одном из серверов заметил что при наличии свободной оперативной памяти активно используется swap. В процессе разбора в проблеме, нашелся интересный параметр ядра vm.swappiness, по сути он отвечает сколько процентов от общего объема оперативной памяти должно быть использовано, чтоб начал использоваться swap.
| 1 2 | cat /proc/sys/vm/swappiness 60 | 
Те например при 10гб оперативной памяти, если будет использовано более 6гб, то […]
Почти везде и всегда пользуюсь, но почему то даже заметки не написал на эту тему в блоге. Хотя функциональность очень полезная и главное удобная! Короткое how-to, для тех кому лень читать портянку(предполагается что на целевой машине стоит sudo и пользователь user добавлен в его группу):
| 1 2 3 | ssh-keygen -t rsa -f ~/my-key && chmod 600 ~/my-key && ssh-copy-id -i ~/my-key.pub user@target-server ssh user@target-server "echo user_password | sudo -S sed -i -E 's/#\s*PasswordAuthentication yes/\nPasswordAuthentication no/' /etc/ssh/sshd_config && echo user_password | sudo -S service sshd restart" ssh -i ~/my-key.pub user@target-server | 
target-server — сервер к которому мы планируем подключаться по […]
Свежие мысли