Профилировщик памяти для Linux
Heaptrack отслеживает все выделения памяти и аннотирует эти события с помощью трассировки стека. Специальные инструменты анализа позволяют интерпретировать профиль памяти кучи, чтобы:
⚫️ найти «горячие точки», которые необходимо оптимизировать, чтобы уменьшить объем памяти приложения
⚫️ найти утечки памяти, т. е. места, где выделяется память, которая никогда не деаллоцируется
⚫️ найти «горячие точки» выделения, то есть места в коде, которые вызывают большое количество вызовов выделения памяти
⚫️ находить временные выделения, то есть выделения, за которыми непосредственно следует их деаллокация
https://github.com/KDE/heaptrack
Heaptrack отслеживает все выделения памяти и аннотирует эти события с помощью трассировки стека. Специальные инструменты анализа позволяют интерпретировать профиль памяти кучи, чтобы:
https://github.com/KDE/heaptrack
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Полезные командлеты Windows PowerShell
Get-Help – показывает справку по командлету, функции и общую справку по Windows PowerShell. Справка бывает нескольких типов: краткая, детальная, полная и вывод только примеров;
Update-Help — загружает и устанавливает новые файлы справки, т.е. обновление справки;
Get-Command – командлет поиска нужной команды, можно искать как по глаголу, так и по существительному, также возможно использование маски, если Вы не знаете точное наименование глагола или существительного;
Get-Alias – показывает псевдонимы, все или конкретной команды;
Get-PSDrive – показывает подключенные диски;
Get-Member – выводит свойства и методы, которые есть у объекта;
Get-WindowsFeature – выводит сведения о доступных ролях и компонентах сервера;
Install-WindowsFeature (эквивалентен Add-WindowsFeature) — устанавливает роли или компоненты на указанный сервер;
Uninstall-WindowsFeature (эквивалентен Remove-WindowsFeature) – удаляет роли или компонента сервера;
Get-History — возвращает список команд, введенных в ходе текущей сессии.
Get-Help – показывает справку по командлету, функции и общую справку по Windows PowerShell. Справка бывает нескольких типов: краткая, детальная, полная и вывод только примеров;
Update-Help — загружает и устанавливает новые файлы справки, т.е. обновление справки;
Get-Command – командлет поиска нужной команды, можно искать как по глаголу, так и по существительному, также возможно использование маски, если Вы не знаете точное наименование глагола или существительного;
Get-Alias – показывает псевдонимы, все или конкретной команды;
Get-PSDrive – показывает подключенные диски;
Get-Member – выводит свойства и методы, которые есть у объекта;
Get-WindowsFeature – выводит сведения о доступных ролях и компонентах сервера;
Install-WindowsFeature (эквивалентен Add-WindowsFeature) — устанавливает роли или компоненты на указанный сервер;
Uninstall-WindowsFeature (эквивалентен Remove-WindowsFeature) – удаляет роли или компонента сервера;
Get-History — возвращает список команд, введенных в ходе текущей сессии.
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
SRE Roadmap
Дорожная карта, чтобы стать SRE (концепции > инструменты)
https://github.com/teivah/sre-roadmap
Дорожная карта, чтобы стать SRE (концепции > инструменты)
https://github.com/teivah/sre-roadmap
👍5❤1
Как увеличить размер каталога /tmp/
Иногда необходимо увеличить размер каталога, который в свою очередь находится в корневом каталоге системы.
Решить это можно перемонтированием каталога:
Теперь проверим, есть ли у нас каталог в фстабе:
Если нет, создаем, если существует то выполняем следующую команду:
Теперь готов каталог
Иногда необходимо увеличить размер каталога, который в свою очередь находится в корневом каталоге системы.
Решить это можно перемонтированием каталога:
# mount -t tmpfs tmpfs /tmp -o size=1024M,mode=1777,remount
Теперь проверим, есть ли у нас каталог в фстабе:
# cat/etc/fstab
Если нет, создаем, если существует то выполняем следующую команду:
# none /tmp tmpfs size=1024M,mode=1777,rw 0 0
Теперь готов каталог
/tmp/
с размером, указанным в операторе “size” размером 1024 mb.👍5❤1
Утилиты linux
rsync
Примеры:
ss
Примеры:
ps
mpstat
Показывает статистику загрузки процессора. Команды:
free
Показывает потребление ОЗУ на текущий момент:
top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
netstat
rsync
-v
— выводит подробную информацию о процессе копирования;[-a]
— сохраняет все атрибуты оригинальных файлов;-u
— не перезаписывать более новые файлы;-l
— копирует символьные ссылки;-L
— копирует содержимое ссылок;-p
— сохраняет права для файлов;-t
— сохраняет время модификации;-e
— использовать другой транспорт, например, ssh;[-z]
— cжимает файлы перед передачей;—recursive
— перебирать директории рекурсивно;—exclude
— Исключить файлы по шаблону;Примеры:
rsync -avz skillproject/data/
. — из подкаталога в текущий каталогrsync -avz skillproject/data/ aaa/
— из подпапки в подпапку aaa/rsync -avz skillproject/data/ [email protected]:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/
— передача на удаленный серверrsync -avze ssh skillproject/data/ [email protected]:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/
— то же самое м явным указанием sshss
-l или —listening
— посмотреть только прослушиваемые порты;-p или —program
— показать имя программы и ее PID;-t или —tcp
— показать tcp порты;-u
или —udp
показать udp порты;-n
или —numeric
показывать ip адреса в числовом виде.Примеры:
ss -tlpn
— проверить все прослушивающие tcp-портыss -tulpn | grep :80
— показать все процессы, работающие на 80-м портуps
ps -e
— показать все процессыps -ef
— показать подробную информацию о каждом процессеps -ef | grep phantom
— найти все процессы с именем phantom
mpstat
Показывает статистику загрузки процессора. Команды:
mpstat
— показывает общую информациюmpstat -P ALL
— по каждому ядруfree
Показывает потребление ОЗУ на текущий момент:
free -h
— показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname>
— проверить, установлен ли пакетdpkg -l
— список всех пакетовdpkg -l | grep apache2
— проверить, установлен ли конкретный пакетdpkg -i <package.deb>
— установить пакетnetstat
netstat -pnltu
— посмотреть список используемых портов👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают протоколы в модели TCP IP?
👍3❤1
Как проанализировать производительность DNS сервера с помощью WireShark?
На прошлой неделе я находился во Владивостоке и сервера DNS, который мне в отеле выдавались точкой доступа Wi-Fi, работали из рук вон плохо. Часть необходимых мне ресурсов были не доступны, другая часть открывалась медленно. Впервые ощутил насколько важный элемент сервер DNS и как с медленно и некорректно работающим сервером плохо жить и работать. Далее
https://telegra.ph/Kak-proanalizirovat-proizvoditelnost-DNS-servera-s-pomoshchyu-WireShark-01-23
На прошлой неделе я находился во Владивостоке и сервера DNS, который мне в отеле выдавались точкой доступа Wi-Fi, работали из рук вон плохо. Часть необходимых мне ресурсов были не доступны, другая часть открывалась медленно. Впервые ощутил насколько важный элемент сервер DNS и как с медленно и некорректно работающим сервером плохо жить и работать. Далее
https://telegra.ph/Kak-proanalizirovat-proizvoditelnost-DNS-servera-s-pomoshchyu-WireShark-01-23
🔥3
Скриптик переустановки пароля пользователя MikroTik
Скрипт интересен строкой преобразования кода символа из переменной
# Скрипт смены пароля пользователя
# только для исполнения в терминале ROS
# by Sertik 09/06/2020
{
:global EnterString do={
:local cont 0; :local string ""
:while ($cont!=13) do={
:local key ([:terminal inkey])
:if ($key!=13) do={
:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
:set string ("$string"."$char")}
:set cont $key
}
:return $string}
;
:put "Please, enter Username:"
:local RegUser [$EnterString];
:put "";
:if ([:len [/user find disabled=no name=$RegUser]]!=0) do={:put "Ok, a user with this name was found"; :put "";
:put "Please, enter new password for this user:"
:local newPass [$EnterString];
[/user remove $RegUser];
[/user add name=$RegUser password=$newPass group=full];
:put "";
:put "The user has been re-created, the password has been changed";
:put ("New user`s password: "."$newPass");
:put "Don't forget to set up access restrictions based on ip addresses";
} else={:put ("User "."$RegUser "."not found"); :put "";
}
}
Скрипт интересен строкой преобразования кода символа из переменной
$key
, сграбленного с клавиатуры терминала, в сам символ.:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
❤1
50 базовых команд Windows с примерами
Изучите основные команды windows, которые помогут вам в устранении неполадок, настройке и сборе информации о системе. 50 базовых команд Windows с примерами.
https://bookflow.ru/50-bazovyh-komand-windows-s-primerami/
Изучите основные команды windows, которые помогут вам в устранении неполадок, настройке и сборе информации о системе. 50 базовых команд Windows с примерами.
https://bookflow.ru/50-bazovyh-komand-windows-s-primerami/
❤2
Как активировать debug режим в bash?
1. Использование опции
Запустите скрипт с опцией
Или добавьте
2. Использование опции
Опция
Также можно добавить
3. Использование режима отладки
Для максимально подробной отладки можно использовать обе опции сразу —
4. Использование
Команда
Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.
5. Отладка с помощью
Переменная
1. Использование опции
-x
Запустите скрипт с опцией
-x
, чтобы bash выводил каждую команду перед её выполнением.
bash -x script.sh
Или добавьте
set -x
в самом скрипте, чтобы начать отладку с этого места:
#!/bin/bash
set -x
# команды скрипта
set +x # остановка отладки
2. Использование опции
-v
Опция
-v
заставляет bash выводить команды, которые он читает, но ещё не исполнил. Это полезно для отладки синтаксиса.
bash -v script.sh
Также можно добавить
set -v
в скрипте для включения вывода на определённом участке:
#!/bin/bash
set -v
# команды скрипта
set +v # остановка вывода
3. Использование режима отладки
-xv
Для максимально подробной отладки можно использовать обе опции сразу —
-x
и -v
:
bash -xv script.sh
4. Использование
trap
для пошаговой отладкиКоманда
trap
позволяет запускать отладочные действия на определённых сигналах или ошибках. Например, чтобы пошагово отслеживать выполнение команд, можно использовать:
trap 'echo "Команда: $BASH_COMMAND"' DEBUG
Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.
5. Отладка с помощью
PS4
Переменная
PS4
позволяет настроить префикс вывода отладки. Это полезно, если вы хотите видеть номер строки и другую информацию:
export PS4='+ $(basename $0):${LINENO}: '
bash -x script.sh
❤4
Совет по Linux 🔥
Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.
Вот синтаксис:
Пример:
Он также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.
Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.
Вот синтаксис:
$ time <команда>.
Пример:
$ time find / -perm -u=s -type f &>/dev/null
Он также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.
❤4
Производительность RDP в Windows Server и способы ее повышения
Эта статья актуальна для Windows Server 2019 в качестве сервера и Windows 10 в качестве клиента RDP. В статье мы рассмотрим шаги, которые следует предпринять для достижения максимальной производительности терминальных сессий RDP в Windows Server.
https://telegra.ph/Proizvoditelnost-RDP-v-Windows-Server-i-sposoby-ee-povysheniya-09-23
Эта статья актуальна для Windows Server 2019 в качестве сервера и Windows 10 в качестве клиента RDP. В статье мы рассмотрим шаги, которые следует предпринять для достижения максимальной производительности терминальных сессий RDP в Windows Server.
https://telegra.ph/Proizvoditelnost-RDP-v-Windows-Server-i-sposoby-ee-povysheniya-09-23
❤2👍2
Шпаргалка по ip
Утилита
🟢 Основные команды
1. Посмотреть информацию об интерфейсах:
Отображает информацию обо всех интерфейсах, включая IP-адреса.
2. Посмотреть информацию только об одном интерфейсе:
Показывает информацию только для интерфейса
3. Активировать интерфейс:
Включает интерфейс
4. Отключить интерфейс:
Отключает интерфейс
🟢 Конфигурация IP-адресов
5. Назначить IP-адрес интерфейсу:
Назначает IP-адрес
6. Удалить IP-адрес с интерфейса:
Удаляет IP-адрес
🟢 Маршруты и таблицы маршрутизации
7. Просмотр маршрутов:
Показывает текущие маршруты в системе.
8. Добавить маршрут:
Добавляет маршрут к сети
9. Удалить маршрут:
Удаляет маршрут к сети
🟢 Прочие функции
10. Посмотреть статистику интерфейсов:
Показывает статистику по интерфейсам (переданные и полученные пакеты, ошибки и т.д.).
11. Назначить MAC-адрес интерфейсу:
Устанавливает MAC-адрес для интерфейса
12. Показать состояние интерфейсов:
Отображает состояние всех интерфейсов, включая их статус (up/down).
13. Показать статистику маршрутизации:
Показывает статистику по маршрутам, включая количество использованных пакетов.
-
- Использование
Дополнительную информацию можно получить с помощью команды:
Утилита
ip
— это мощный инструмент для управления сетевыми интерфейсами и маршрутизацией в Linux, который заменяет старую команду ifconfig
. 1. Посмотреть информацию об интерфейсах:
ip addr
Отображает информацию обо всех интерфейсах, включая IP-адреса.
2. Посмотреть информацию только об одном интерфейсе:
ip addr show eth0
Показывает информацию только для интерфейса
eth0
.3. Активировать интерфейс:
ip link set eth0 up
Включает интерфейс
eth0
.4. Отключить интерфейс:
ip link set eth0 down
Отключает интерфейс
eth0
.5. Назначить IP-адрес интерфейсу:
ip addr add 192.168.1.10/24 dev eth0
Назначает IP-адрес
192.168.1.10
с маской 255.255.255.0
(или /24`) интерфейсу `eth0
.6. Удалить IP-адрес с интерфейса:
ip addr del 192.168.1.10/24 dev eth0
Удаляет IP-адрес
192.168.1.10
с интерфейса eth0
.7. Просмотр маршрутов:
ip route
Показывает текущие маршруты в системе.
8. Добавить маршрут:
ip route add 192.168.2.0/24 via 192.168.1.1
Добавляет маршрут к сети
192.168.2.0/24
через шлюз 192.168.1.1
.9. Удалить маршрут:
ip route del 192.168.2.0/24
Удаляет маршрут к сети
192.168.2.0/24
.10. Посмотреть статистику интерфейсов:
ip -s link
Показывает статистику по интерфейсам (переданные и полученные пакеты, ошибки и т.д.).
11. Назначить MAC-адрес интерфейсу:
ip link set dev eth0 address 00:11:22:33:44:55
Устанавливает MAC-адрес для интерфейса
eth0
.12. Показать состояние интерфейсов:
ip link show
Отображает состояние всех интерфейсов, включая их статус (up/down).
13. Показать статистику маршрутизации:
ip -s route
Показывает статистику по маршрутам, включая количество использованных пакетов.
-
ip
заменяет старые команды, такие как ifconfig
, route
, и netstat
, предоставляя более гибкий и мощный интерфейс для управления сетевыми настройками.- Использование
ip
вместо ifconfig
рекомендуется в большинстве современных Linux-дистрибутивов, так как это более современная и функциональная утилита.Дополнительную информацию можно получить с помощью команды:
man ip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤1
Программа проверки истечения срока действия SSL-сертификатов
ssl-cert-check - это скрипт оболочки Bourne, который можно использовать для оповещения об истечении срока действия SSL-сертификатов. Сценарий был разработан для запуска из cron и может рассылать уведомления по электронной почте или регистрировать предупреждения через nagios.
https://github.com/Matty9191/ssl-cert-check
ssl-cert-check - это скрипт оболочки Bourne, который можно использовать для оповещения об истечении срока действия SSL-сертификатов. Сценарий был разработан для запуска из cron и может рассылать уведомления по электронной почте или регистрировать предупреждения через nagios.
https://github.com/Matty9191/ssl-cert-check
❤1