This media is not supported in your browser
VIEW IN TELEGRAM
🔥 LINUX-ТРЮК: УСКОРЯЙ ПОИСК С -PRINTF
💡 *Как ускорить find в больших файловых системах с помощью -printf и отключения `stat`-вызовов*
Большинство используют find с -exec или -ls, не зная, что каждый такой вызов делает stat() для каждого файла — а это *очень* медленно на больших файловых системах.
Вместо этого используй -printf, чтобы быстро получить нужную информацию без лишних системных вызовов. Особенно эффективно, когда тебе просто нужно вывести список файлов, их размер, дату и т.д.
https://www.youtube.com/shorts/SfzYU6Tl7gE
💡 *Как ускорить find в больших файловых системах с помощью -printf и отключения `stat`-вызовов*
Большинство используют find с -exec или -ls, не зная, что каждый такой вызов делает stat() для каждого файла — а это *очень* медленно на больших файловых системах.
Вместо этого используй -printf, чтобы быстро получить нужную информацию без лишних системных вызовов. Особенно эффективно, когда тебе просто нужно вывести список файлов, их размер, дату и т.д.
find /var/log -name "*.log" -type f -mtime +30 -printf "%p %s bytes\n"
https://www.youtube.com/shorts/SfzYU6Tl7gE
👍15❤6🔥4
1) Закрепите процесс за ядрами → меньше миграций
taskset -pc 2-5 $PID
2) Переведите «долгие» вычисления в SCHED_BATCH (реже прерываются)
sudo chrt -b -p 0 $PID
# (Для жёстких RT-требований: sudo chrt -r -p 90 $PID — осторожно!)
3) Дайте приоритет диску для критичного процесса
sudo ionice -c1 -n0 -p $PID
4) Уменьшите NUMA-кросс-трафик (CPU и память на одном NUMA-узле)
numactl --cpunodebind=0 --membind=0 your_cmd
5) Быстро навесьте cgroup-ограничения/аффинити без юнитов
systemd-run --scope -p CPUAffinity=2-5 -p IOWeight=200 -p MemoryHigh=4G -- your_cmd
6) Поднимите лимиты без рестартов
sudo prlimit --pid $PID --nofile=65535 --nproc=4096
7) Поймайте узкое место за 10 секунд
sudo perf stat -d -p $PID -- sleep 10
😍 Посмотрите по-поточную нагрузку и ожидания (I/O, своп, блокировки)
pidstat -wstu -p $PID 1
9) Диагностика «давления» ресурсов (PSI): видно, что реально тормозит
sudo tail -f /proc/pressure/{cpu,io,memory}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤3🥰2
⚡️ Управление пользователями, группами и файловыми разрешениями в Linux
Изучите, как эффективно управлять учетными записями, доступом к файлам и системным привилегиям — основа безопасности и порядка в любой системе.
🟢 Что вы узнаете:
- Как Linux определяет пользователей и группы и что содержится в файлах
- Основные команды:
-
-
- Как управлять правами доступа с помощью:
-
-
- Правильная настройка
- Практические упражнения для закрепления навыков
🟢 Почему это важно:
- Каждый файл и директория в Linux принадлежат пользователю и группе, и имеют права, которые определяют, кто может их читать, изменять или запускать. Это фундамент безопасности системы.
- Используя
Пример сценария:
📌 Подробнее
Изучите, как эффективно управлять учетными записями, доступом к файлам и системным привилегиям — основа безопасности и порядка в любой системе.
- Как Linux определяет пользователей и группы и что содержится в файлах
/etc/passwd, /etc/group, /etc/shadow - Основные команды:
-
useradd, usermod, userdel — для работы с пользователями -
groupadd, groupmod, groupdel — для управления группами - Как управлять правами доступа с помощью:
-
chmod — установка прав (чтение, запись, выполнение)-
chown, chgrp — изменение владельца и группы файла или каталога - Правильная настройка
sudo — включая безопасное редактирование /etc/sudoers с помощью visudo - Практические упражнения для закрепления навыков
- Каждый файл и директория в Linux принадлежат пользователю и группе, и имеют права, которые определяют, кто может их читать, изменять или запускать. Это фундамент безопасности системы.
- Используя
visudo, вы защищаетесь от ошибок при редактировании разрешений для sudo — крайне важно для предотвращения блокировки своего доступа.Пример сценария:
# Добавляем пользователя
sudo useradd newuser
# Даем ему права на группу sudo (или wheel)
sudo usermod -aG sudo newuser
# Изменяем владельца и группу для файла
sudo chown newuser:developers example.txt
# Устанавливаем права: владелец rwx, группа r-x, остальные — только r
chmod 755 example.txt
# Редактируем sudoers безопасно
sudo visudo
📌 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍7👏1
This media is not supported in your browser
VIEW IN TELEGRAM
📦 AM (Application Manager) — универсальная база и решение для управления всеми AppImage и портативными приложениями в GNU/Linux!
AM упрощает жизнь пользователям Linux, позволяя:
- 🔹 Интегрировать AppImages в систему или локально (с флагом `--user`)
- 🔹 Управлять приложениями прямо из командной строки
- 🔹 Автоматически добавлять программы в меню приложений
- 🔹 Обновлять установленные AppImages и даже собирать их «на лету» как AUR-хелпер
🛠️ Как работает AM:
1. Создаёт базовые каталоги и скрипт удаления
2. Загружает пакет
3. Создаёт файл версии и скрипт обновления
4. При необходимости извлекает иконки и `.desktop`-файлы для удобной интеграции
И всё это максимально просто и быстро — без лишних зависимостей и громоздких менеджеров.
👉 Репозиторий: https://github.com/ivan-hc/AM
AM упрощает жизнь пользователям Linux, позволяя:
- 🔹 Интегрировать AppImages в систему или локально (с флагом `--user`)
- 🔹 Управлять приложениями прямо из командной строки
- 🔹 Автоматически добавлять программы в меню приложений
- 🔹 Обновлять установленные AppImages и даже собирать их «на лету» как AUR-хелпер
🛠️ Как работает AM:
1. Создаёт базовые каталоги и скрипт удаления
2. Загружает пакет
3. Создаёт файл версии и скрипт обновления
4. При необходимости извлекает иконки и `.desktop`-файлы для удобной интеграции
И всё это максимально просто и быстро — без лишних зависимостей и громоздких менеджеров.
👉 Репозиторий: https://github.com/ivan-hc/AM
👍11❤5🔥1
Forwarded from Kali Linux
🔍 OSINT Tools and Resources Handbook — онлайн-справочник по инструментам и ресурсам для OSINT (Open Source Intelligence).
📚 Что внутри:
- Каталог инструментов для анализа открытых данных
- Ресурсы по разведке из публичных источников
- Руководства, гайды и ссылки на полезные платформы
🌐 Полезно для исследователей, журналистов, аналитиков, киберспециалистов.
@linuxkalii
📚 Что внутри:
- Каталог инструментов для анализа открытых данных
- Ресурсы по разведке из публичных источников
- Руководства, гайды и ссылки на полезные платформы
🌐 Полезно для исследователей, журналистов, аналитиков, киберспециалистов.
@linuxkalii
❤3👍3
🔧 Как ускорить работу в Linux с помощью alias
В Linux есть удобный приём - alias. Это сокращённые команды, которые экономят время и избавляют от повторного ввода длинных конструкций.
📌 Проверить текущие alias
⚡ Временный alias (работает до закрытия терминала)
Удалить можно так:
♻️ Постоянный alias (сохраняется после перезагрузки)
Нужно добавить его в конфиг вашей оболочки:
Пример в ~/.bashrc:
Чтобы применить изменения сразу:
📂 Отдельный файл ~/.bash_aliases
В Ubuntu/Debian часто alias выносят в ~/.bash_aliases, а в ~/.bashrc есть строка:
Это помогает держать настройки в порядке.
🚀 Полезные примеры alias
👉 Итог: alias экономят время и делают работу комфортнее. Главное — придумать такие сокращения, которые легко запомнить.
https://www.tecmint.com/create-alias-in-linux/
В Linux есть удобный приём - alias. Это сокращённые команды, которые экономят время и избавляют от повторного ввода длинных конструкций.
📌 Проверить текущие alias
alias
Выведет список всех настроенных сокращений, например:
ll='ls -alF'
⚡ Временный alias (работает до закрытия терминала)
alias wr="cd /var/www/html"
Теперь wr перенесёт вас в /var/www/html.
Удалить можно так:
unalias wr
♻️ Постоянный alias (сохраняется после перезагрузки)
Нужно добавить его в конфиг вашей оболочки:
Bash → ~/.bashrc
Zsh → ~/.zshrc
Fish → ~/.config/fish/config.fish
Пример в ~/.bashrc:
alias gs="git status"
alias update="sudo apt update && sudo apt upgrade -y"
alias serve="python3 -m http.server"
alias ..="cd .."
alias ...="cd ../.."
Чтобы применить изменения сразу:
source ~/.bashrc
📂 Отдельный файл ~/.bash_aliases
В Ubuntu/Debian часто alias выносят в ~/.bash_aliases, а в ~/.bashrc есть строка:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Это помогает держать настройки в порядке.
🚀 Полезные примеры alias
alias gs="git status"
alias gp="git pull"
alias update="sudo apt update && sudo apt upgrade -y"
alias serve="python3 -m http.server"
alias ..="cd .."
👉 Итог: alias экономят время и делают работу комфортнее. Главное — придумать такие сокращения, которые легко запомнить.
https://www.tecmint.com/create-alias-in-linux/
❤8👍6🔥1
📌 Linux Process Signals Explained - обзор сигналов процессов в Linux
В этой статье разбираются основные сигналы, которые ядро Linux посылает процессам, и как приложения могут реагировать на них.
Сигналы — это механизм асинхронного уведомления процесса о событиях (например, прерывание, тайм-аут, завершение).
Процесс может:
- игнорировать сигнал,
- перехватить и обработать,
- использовать поведение по умолчанию (например, завершиться).
🛠 Ключевые сигналы и их значение
🔄 Управление сигналами в коде
-
-
-
Правильная обработка сигналов важна для корректного завершения, очистки ресурсов и устойчивого поведения демонов и серверов.
linuxopsys.substack.com/p/linux-process-signals-explained
В этой статье разбираются основные сигналы, которые ядро Linux посылает процессам, и как приложения могут реагировать на них.
Сигналы — это механизм асинхронного уведомления процесса о событиях (например, прерывание, тайм-аут, завершение).
Процесс может:
- игнорировать сигнал,
- перехватить и обработать,
- использовать поведение по умолчанию (например, завершиться).
🛠 Ключевые сигналы и их значение
| Сигнал | Описание |
|------------|---------------------------------------------------------------------------|
| `SIGINT` | Прерывание (Ctrl+C), обычно прерывает выполнение процесса |
| `SIGTERM` | Запрос корректного завершения процесса |
| `SIGKILL` | Безусловное завершение, нельзя поймать или игнорировать |
| `SIGHUP` | «Повешенный» терминал, часто сигнал перезагрузки конфигурации |
| `SIGCHLD` | Уведомление родительского процесса о том, что дочерний завершился |
| `SIGALRM` | Таймерный сигнал (например, от `alarm()`) |
| `SIGUSR1`, `SIGUSR2` | Пользовательские сигналы, доступные для произвольного использования |
🔄 Управление сигналами в коде
-
signal() / sigaction() — установить обработчик сигнала -
kill() — отправить сигнал другому процессу -
raise() — послать сигнал самому себе Правильная обработка сигналов важна для корректного завершения, очистки ресурсов и устойчивого поведения демонов и серверов.
linuxopsys.substack.com/p/linux-process-signals-explained
❤4👍3🔥1
📆 Как планировать задачи в Linux с помощью cron — отличный гайд от LinuxOpsYS
В статье подробно разбирается:
синтаксис crontab и правила составления расписаний
примеры повседневных задач (бэкапы, чистка логов, обновления)
особенности и подводные камни: часовой пояс, вывод, переменные окружения
🔗 Читай статью: linuxopsys.substack.com/p/scheduling-tasks-using-cron-in-linux
В статье подробно разбирается:
синтаксис crontab и правила составления расписаний
примеры повседневных задач (бэкапы, чистка логов, обновления)
особенности и подводные камни: часовой пояс, вывод, переменные окружения
🔗 Читай статью: linuxopsys.substack.com/p/scheduling-tasks-using-cron-in-linux
👍6❤4👎1
Как правильно монтировать и размонтировать файловые системы в Linux
Монтирование и размонтирование файловых систем — одни из самых нужных операций в Linux. Когда вы подключаете новый диск или меняете схему хранения, его нужно смонтировать, чтобы получить доступ к данным. А размонтаж нужен, чтобы безопасно отключить связь перед изъятием устройства.
В этом руководстве вы узнаете:
как определить устройство (имя, путь);
как создать точку монтирования (директорию, куда “подвесить” файловую систему);
как монтировать с разными опциями (например, только для чтения, с определённым правами);
как корректно размонтировать, не допустив повреждения данных.
Полный текст статьи доступен здесь: http://sysxplore.substack.com/p/mounting-and-unmounting-file-systems
Монтирование и размонтирование файловых систем — одни из самых нужных операций в Linux. Когда вы подключаете новый диск или меняете схему хранения, его нужно смонтировать, чтобы получить доступ к данным. А размонтаж нужен, чтобы безопасно отключить связь перед изъятием устройства.
В этом руководстве вы узнаете:
как определить устройство (имя, путь);
как создать точку монтирования (директорию, куда “подвесить” файловую систему);
как монтировать с разными опциями (например, только для чтения, с определённым правами);
как корректно размонтировать, не допустив повреждения данных.
Полный текст статьи доступен здесь: http://sysxplore.substack.com/p/mounting-and-unmounting-file-systems
👍6🔥4❤3
Карьерный буст, робот в подарок и призовой фонд 7 500 000 рублей 🤖
Успей зарегистрироваться до 20 октября.
Все это ждет участников трека «Программирование роботов» на всероссийском ИТ-чемпионате МТС True Tech Champ 2025. Присоединяйся, если пишешь на С++, Go, Python, JS, Java, C# или другом языке.
Соревнования пройдут в командах от 2 до 4 человек в несколько этапов:
— Квалификация. Тебе предстоит запрограммировать робота на прохождение виртуального лабиринта.
— Полуфинал. Ты будешь дистанционно управлять роботом на офлайн-полигоне и наблюдать за его перемещениями в трансляции.
— Финал. За две недели до финала организаторы отправят тебе настоящего робота для кастомизации. Ты сможешь модифицировать его, чтобы он оказался быстрее других в многоуровневом офлайн-лабиринте и смог выбить соперников с платформы в шоу-битве.
Команды финалистов получат по одному роботу Waveshare Cobra Flex в подарок и сразятся за крупные денежные призы: 4 000 000 ₽ за первое место, 2 500 000 ₽ за второе и 1 000 000 ₽ за третье.
Еще ты сможешь:
— Получить практический опыт работы с инструментами, с помощью которых создают домашних и промышленных роботов.
— Прокачать компетенции, которые помогут развиваться в ИТ.
— Заявить о себе на всю Россию и ускорить свой профессиональный рост.
📍 Финал состоится 21 ноября в МТС Live Холл в Москве.
👉🏻 Регистрируйся на сайте до 20 октября.
Успей зарегистрироваться до 20 октября.
Все это ждет участников трека «Программирование роботов» на всероссийском ИТ-чемпионате МТС True Tech Champ 2025. Присоединяйся, если пишешь на С++, Go, Python, JS, Java, C# или другом языке.
Соревнования пройдут в командах от 2 до 4 человек в несколько этапов:
— Квалификация. Тебе предстоит запрограммировать робота на прохождение виртуального лабиринта.
— Полуфинал. Ты будешь дистанционно управлять роботом на офлайн-полигоне и наблюдать за его перемещениями в трансляции.
— Финал. За две недели до финала организаторы отправят тебе настоящего робота для кастомизации. Ты сможешь модифицировать его, чтобы он оказался быстрее других в многоуровневом офлайн-лабиринте и смог выбить соперников с платформы в шоу-битве.
Команды финалистов получат по одному роботу Waveshare Cobra Flex в подарок и сразятся за крупные денежные призы: 4 000 000 ₽ за первое место, 2 500 000 ₽ за второе и 1 000 000 ₽ за третье.
Еще ты сможешь:
— Получить практический опыт работы с инструментами, с помощью которых создают домашних и промышленных роботов.
— Прокачать компетенции, которые помогут развиваться в ИТ.
— Заявить о себе на всю Россию и ускорить свой профессиональный рост.
📍 Финал состоится 21 ноября в МТС Live Холл в Москве.
👉🏻 Регистрируйся на сайте до 20 октября.
❤2
🚀 GitHub Actions + Terraform: автоматизация деплоя с ревью плана изменений
Terraform стал стандартом для управления инфраструктурой как кодом (IaC). Но просто запускать
В статье показано, как интегрировать Terraform с GitHub Actions так, чтобы каждый pull request автоматически запускал
Таким образом:
- при открытии PR → генерируется план, прикрепляется к обсуждению;
- после ревью и мержа → автоматически выполняется
Это позволяет:
✅ повысить прозрачность изменений в инфраструктуре
✅ избежать ошибок при деплое
✅ упростить командную работу с IaC
Отличный пример того, как CI/CD можно использовать не только для приложений, но и для инфраструктуры.
https://itnext.io/github-actions-terraform-deployments-with-a-review-of-planned-changes-30143358bb5c
#devops #девопс
Terraform стал стандартом для управления инфраструктурой как кодом (IaC). Но просто запускать
terraform apply в CI/CD - не лучший вариант. Важно видеть план изменений до деплоя, чтобы избежать неожиданных последствий.В статье показано, как интегрировать Terraform с GitHub Actions так, чтобы каждый pull request автоматически запускал
terraform plan. Результаты работы добавляются прямо в PR, где команда может просмотреть и обсудить изменения до их применения.Таким образом:
- при открытии PR → генерируется план, прикрепляется к обсуждению;
- после ревью и мержа → автоматически выполняется
terraform apply.Это позволяет:
✅ повысить прозрачность изменений в инфраструктуре
✅ избежать ошибок при деплое
✅ упростить командную работу с IaC
Отличный пример того, как CI/CD можно использовать не только для приложений, но и для инфраструктуры.
https://itnext.io/github-actions-terraform-deployments-with-a-review-of-planned-changes-30143358bb5c
#devops #девопс
👍4❤3
В гайде представлен поэтапный план, разделённый на модули по каждой из этих областей, с пояснениями, примерными командами и упоминанием как командной строки, так и графических интерфейсов (GUI) там, где это уместно.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3
🔥Свежий курс со Stepik: Linux: полный апгрейд твоих скиллов
Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?
Без глубокого знания базы ты не инженер - ты просто пользователь.
🔹 В курсе ты:
- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.
💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.
🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.
🚀 Сейчас действуют скидка целых - 30%, не упусти реальный шанс прокачаться.
👉 Забирай место на курсе со скидкой
Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?
Без глубокого знания базы ты не инженер - ты просто пользователь.
🔹 В курсе ты:
- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.
💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.
🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.
🚀 Сейчас действуют скидка целых - 30%, не упусти реальный шанс прокачаться.
👉 Забирай место на курсе со скидкой
❤2👍2❤🔥1🔥1
Работа с правами доступа файлов и директорий в Linux
Назначить пользователя vasya владельцем файла file
Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
Назначить владельца и группу для файла /file
Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
Удалить все права на директорию /directory для группы и остальных
Изменить группу-владельца для file на new_group
Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
Удалить STIKY-бит с директории /home/public
Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
Удалить SUID-бит с файла /bin/binary_file
Установить SGID-бит на директории /home/public
Удалить SGID-бит с директории /home/public
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы
Листинг текущего каталога с правами доступа
# chown vasya /fileНазначить пользователя vasya владельцем файла file
# chown -R vasya directoryРекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
# chown vasya:group /fileНазначить владельца и группу для файла /file
# chmod ugo+rwx /directoryУстановить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
# chmod go-rwx /directoryУдалить все права на директорию /directory для группы и остальных
# chgrp new_group fileИзменить группу-владельца для file на new_group
# chmod o+t /home/publicУстановить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
# chmod o-t /home/publicУдалить STIKY-бит с директории /home/public
# chmod u+s /bin/binary_fileУстановить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
# chmod u-s /bin/binary_fileУдалить SUID-бит с файла /bin/binary_file
# chmod g+s /home/publicУстановить SGID-бит на директории /home/public
# chmod g-s /home/publicУдалить SGID-бит с директории /home/public
# find / -perm -u+sПоиск всех файлов с установленным SUID битом, начиная с корня файловой системы
# ls -lhЛистинг текущего каталога с правами доступа
❤9🔥6👍2
🔍 Как точно измерить, сколько памяти реально использует процесс в Linux
Когда система тормозит, первым делом смотрят
Например: если 5 процессов используют одну и ту же библиотеку на 100 МБ, RSS прибавит по 100 МБ к каждому, хотя в реальности эта память занимает только 100 МБ в RAM.
Чтобы понять реальный вклад процесса в потребление памяти, нужно смотреть PSS (Proportional Set Size) — метрику, которая делит общую память пропорционально между всеми пользователями.
📊 Три ключевые метрики:
- VSZ (Virtual Set Size) — общий виртуальный объём памяти, выделенный процессу.
→ Включает код, данные, библиотеки, маппинг файлов… но многое из этого может вообще не быть в RAM.
→ Не показывает реальное потребление RAM.
- RSS (Resident Set Size) — сколько памяти процесса фактически загружено в RAM сейчас.
→ Но считает общую память целиком, даже если она используется десятком других процессов.
→ Завышает реальное потребление.
- PSS (Proportional Set Size) — настоящий объём памяти, который освободится при завершении процесса.
→ Общая память делится поровну: если 3 процесса используют библиотеку на 90 МБ → каждый «платит» по 30 МБ.
→ Это самая точная метрика для оценки нагрузки на RAM.
🔧 Как получить PSS?
1. Найдите PID процесса:
🔍 Как точно измерить, сколько памяти реально использует процесс в Linux
Когда система тормозит, первым делом смотрят
Например: если 5 процессов используют одну и ту же библиотеку на 100 МБ, RSS прибавит по 100 МБ к каждому — хотя в реальности эта память занимает только 100 МБ в RAM.
Чтобы понять реальный вклад процесса в потребление памяти, нужно смотреть PSS (Proportional Set Size) - метрику, которая делит общую память пропорционально между всеми пользователями.
📊 Три ключевые метрики:
- VSZ (Virtual Set Size) — общий виртуальный объём памяти, выделенный процессу.
→ Включает код, данные, библиотеки, маппинг файлов… но многое из этого может вообще не быть в RAM.
→ Не показывает реальное потребление RAM.
- RSS (Resident Set Size) — сколько памяти процесса фактически загружено в RAM сейчас.
→ Но считает общую память целиком, даже если она используется десятком других процессов.
→ Завышает реальное потребление.
- PSS (Proportional Set Size) — настоящий объём памяти, который освободится при завершении процесса.
→ Общая память делится поровну: если 3 процесса используют библиотеку на 90 МБ → каждый «платит» по 30 МБ.
→ Это самая точная метрика для оценки нагрузки на RAM.
🔧 Как получить PSS?
1. Найдите PID процесса:
2 Посчитайте суммарный PSS через /proc/[PID]/smaps:
Или, если у вас ядро Linux ≥ 4.15 — используйте готовую сводку:
💡 Пример: процесс может показывать RSS = 800 МБ, но PSS = 120 МБ. Это значит, что только 120 МБ — его реальный вклад в использование RAM, остальное - общие библиотеки.
✅ Вывод
• Не доверяйте RSS из top или ps — он завышает потребление.
• Используйте PSS, чтобы понять, сколько памяти реально освободится, если убить процесс.
• Для точной диагностики всегда смотрите в /proc/[PID]/smaps или /proc/[PID]/smaps_rollup.
Источник: How to Accurately Check Memory Consumption of a Process in Linux
Когда система тормозит, первым делом смотрят
top или ps, но эти инструменты вводят в заблуждение. Они показывают RSS (Resident Set Size), который считает общую память как свою.Например: если 5 процессов используют одну и ту же библиотеку на 100 МБ, RSS прибавит по 100 МБ к каждому, хотя в реальности эта память занимает только 100 МБ в RAM.
Чтобы понять реальный вклад процесса в потребление памяти, нужно смотреть PSS (Proportional Set Size) — метрику, которая делит общую память пропорционально между всеми пользователями.
📊 Три ключевые метрики:
- VSZ (Virtual Set Size) — общий виртуальный объём памяти, выделенный процессу.
→ Включает код, данные, библиотеки, маппинг файлов… но многое из этого может вообще не быть в RAM.
→ Не показывает реальное потребление RAM.
- RSS (Resident Set Size) — сколько памяти процесса фактически загружено в RAM сейчас.
→ Но считает общую память целиком, даже если она используется десятком других процессов.
→ Завышает реальное потребление.
- PSS (Proportional Set Size) — настоящий объём памяти, который освободится при завершении процесса.
→ Общая память делится поровну: если 3 процесса используют библиотеку на 90 МБ → каждый «платит» по 30 МБ.
→ Это самая точная метрика для оценки нагрузки на RAM.
🔧 Как получить PSS?
1. Найдите PID процесса:
pidof nginx
# или
ps aux | grep nginx
🔍 Как точно измерить, сколько памяти реально использует процесс в Linux
Когда система тормозит, первым делом смотрят
top или ps — но эти инструменты вводят в заблуждение. Они показывают RSS (Resident Set Size), который считает общую память как свою.Например: если 5 процессов используют одну и ту же библиотеку на 100 МБ, RSS прибавит по 100 МБ к каждому — хотя в реальности эта память занимает только 100 МБ в RAM.
Чтобы понять реальный вклад процесса в потребление памяти, нужно смотреть PSS (Proportional Set Size) - метрику, которая делит общую память пропорционально между всеми пользователями.
📊 Три ключевые метрики:
- VSZ (Virtual Set Size) — общий виртуальный объём памяти, выделенный процессу.
→ Включает код, данные, библиотеки, маппинг файлов… но многое из этого может вообще не быть в RAM.
→ Не показывает реальное потребление RAM.
- RSS (Resident Set Size) — сколько памяти процесса фактически загружено в RAM сейчас.
→ Но считает общую память целиком, даже если она используется десятком других процессов.
→ Завышает реальное потребление.
- PSS (Proportional Set Size) — настоящий объём памяти, который освободится при завершении процесса.
→ Общая память делится поровну: если 3 процесса используют библиотеку на 90 МБ → каждый «платит» по 30 МБ.
→ Это самая точная метрика для оценки нагрузки на RAM.
🔧 Как получить PSS?
1. Найдите PID процесса:
pidof nginx
# или
ps aux | grep nginx
2 Посчитайте суммарный PSS через /proc/[PID]/smaps:
sudo awk '/^Pss:/ { total += $2 } END { print total " kB" }' /proc/12345/smaps
Или, если у вас ядро Linux ≥ 4.15 — используйте готовую сводку:
sudo cat /proc/12345/smaps_rollup | grep Pss:
💡 Пример: процесс может показывать RSS = 800 МБ, но PSS = 120 МБ. Это значит, что только 120 МБ — его реальный вклад в использование RAM, остальное - общие библиотеки.
✅ Вывод
• Не доверяйте RSS из top или ps — он завышает потребление.
• Используйте PSS, чтобы понять, сколько памяти реально освободится, если убить процесс.
• Для точной диагностики всегда смотрите в /proc/[PID]/smaps или /proc/[PID]/smaps_rollup.
Источник: How to Accurately Check Memory Consumption of a Process in Linux
❤8🔥7👍5👎2
🧠 Как точно измерить использование памяти процессом в Linux
Когда система начинает «тормозить» или неожиданно заканчивается память, первое, что стоит проверить - какие процессы её съедают. Команды
Процесс может выглядеть как прожорливый монстр, хотя значительная часть его памяти 0 shared, то есть разделяется с другими процессами. А наоборот, «лёгкий» процесс может скрытно потреблять больше через общие библиотеки и кэш.
Чтобы понять реальную картину, нужно копнуть глубже — в файловую систему /proc, а именно в файл smaps, где хранится подробная карта памяти каждого процесса.
Перед этим важно разобраться в трёх ключевых метриках:
- VSZ (Virtual Memory Size) — общий объём виртуальной памяти;
- RSS (Resident Set Size) — реальный объём памяти в RAM;
- PSS (Proportional Set Size) — точная оценка «реального» потребления с учётом разделяемых страниц.
💡 Эти метрики показывают, сколько памяти процесс действительно использует — и где она делится с другими.
Полный разбор и примеры смотри в оригинальном материале: blog.sysxplore.com/p/how-to-accurately-check-process-memory-usage-in-linux
Когда система начинает «тормозить» или неожиданно заканчивается память, первое, что стоит проверить - какие процессы её съедают. Команды
ps и top помогают получить общее представление, но цифры там часто обманчивы.Процесс может выглядеть как прожорливый монстр, хотя значительная часть его памяти 0 shared, то есть разделяется с другими процессами. А наоборот, «лёгкий» процесс может скрытно потреблять больше через общие библиотеки и кэш.
Чтобы понять реальную картину, нужно копнуть глубже — в файловую систему /proc, а именно в файл smaps, где хранится подробная карта памяти каждого процесса.
Перед этим важно разобраться в трёх ключевых метриках:
- VSZ (Virtual Memory Size) — общий объём виртуальной памяти;
- RSS (Resident Set Size) — реальный объём памяти в RAM;
- PSS (Proportional Set Size) — точная оценка «реального» потребления с учётом разделяемых страниц.
💡 Эти метрики показывают, сколько памяти процесс действительно использует — и где она делится с другими.
Полный разбор и примеры смотри в оригинальном материале: blog.sysxplore.com/p/how-to-accurately-check-process-memory-usage-in-linux
👍5❤2
🧱 Что такое Linux namespaces
По умолчанию процессы в Linux видят один и тот же мир: общий список процессов, сетевые интерфейсы, файловую систему.
Namespaces меняют это.
Они дают каждому процессу собственную «реальность»: свой сетевой стек, свой список процессов, свою файловую иерархию — всё это работает на одном ядре, без отдельной виртуальной машины.
Так Linux создаёт базу для контейнеров: изоляция без лишней нагрузки и полноценного гипервизора.
В серии разборов посмотрим:
• какие бывают namespaces,
• как они устроены,
• как поиграться с ними с помощью обычных команд Linux.
#Linux #Containers #DevOps
blog.sysxplore.com/p/part-1-what-are-linux-namespaces
По умолчанию процессы в Linux видят один и тот же мир: общий список процессов, сетевые интерфейсы, файловую систему.
Namespaces меняют это.
Они дают каждому процессу собственную «реальность»: свой сетевой стек, свой список процессов, свою файловую иерархию — всё это работает на одном ядре, без отдельной виртуальной машины.
Так Linux создаёт базу для контейнеров: изоляция без лишней нагрузки и полноценного гипервизора.
В серии разборов посмотрим:
• какие бывают namespaces,
• как они устроены,
• как поиграться с ними с помощью обычных команд Linux.
#Linux #Containers #DevOps
blog.sysxplore.com/p/part-1-what-are-linux-namespaces
👍7❤6
Если увлекаешься технологиями, не пропусти True Tech Champ 21 ноября — масштабный ИТ-фест от МТС 🔥
В программе:
📝 доклады о технологиях будущего от экспертов в ИИ, включая руководителя фундаментальных исследований MWS AI Валентина Малых и ведущего RnD-разработчика MWS и аспиранта ISR Lab и Skoltech Артема Лыкова;
🛻 шоу-битва роботов со спецэффектами и сюжетной линией;
📝 воркшоп по работе с ИИ-агентами от канадского разработчика и автора книги AI Agents in Action Майкла Ланэма, кодинг-практикум с MWS AI и интеллектуальный спарринг с искусственным интеллектом;
◻️ 20+ площадок с активностями: IT-Родео, робофайтинг, лазерный лабиринт и многое другое.
🔴 А в завершение дня — афтепати со звездным хедлайнером.
Фестиваль бесплатный, пройдет 21 ноября в Москве и онлайн.
Смотри подробную программу на сайте и регистрируйся — количество мест ограничено.
В программе:
Фестиваль бесплатный, пройдет 21 ноября в Москве и онлайн.
Смотри подробную программу на сайте и регистрируйся — количество мест ограничено.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Forwarded from Kali Linux
🧱 Что такое Linux namespaces
По умолчанию процессы в Linux видят один и тот же мир: общий список процессов, сетевые интерфейсы, файловую систему.
Namespaces меняют это.
Они дают каждому процессу собственную «реальность»: свой сетевой стек, свой список процессов, свою файловую иерархию — всё это работает на одном ядре, без отдельной виртуальной машины.
Так Linux создаёт базу для контейнеров: изоляция без лишней нагрузки и полноценного гипервизора.
В серии разборов посмотрим:
• какие бывают namespaces,
• как они устроены,
• как поиграться с ними с помощью обычных команд Linux.
#Linux #Containers #DevOps
blog.sysxplore.com/p/part-1-what-are-linux-namespaces
По умолчанию процессы в Linux видят один и тот же мир: общий список процессов, сетевые интерфейсы, файловую систему.
Namespaces меняют это.
Они дают каждому процессу собственную «реальность»: свой сетевой стек, свой список процессов, свою файловую иерархию — всё это работает на одном ядре, без отдельной виртуальной машины.
Так Linux создаёт базу для контейнеров: изоляция без лишней нагрузки и полноценного гипервизора.
В серии разборов посмотрим:
• какие бывают namespaces,
• как они устроены,
• как поиграться с ними с помощью обычных команд Linux.
#Linux #Containers #DevOps
blog.sysxplore.com/p/part-1-what-are-linux-namespaces
👍7❤2👎1