TGViewer
Секреты сисадмина | DevOps, Linux, SRE Секреты сисадмина | DevOps, Linux, SRE @sysadmin_library · 25.6K subscribers
Post #4703 2.43K
Используем библиотеку psutil для Python, чтобы получить исчерпывающую информацию о состоянии CPU и системы в целом.



import psutil
import time
from tabulate import tabulate

def get_cpu_usage():

return psutil.cpu_percent(interval=1)

def get_memory_usage():

memory = psutil.virtual_memory()
return {
'Всего': f'{memory.total / (1024**3):.2f} ГБ',
'Используется': f'{memory.used / (1024**3):.2f} ГБ',
'Свободно': f'{memory.available / (1024**3):.2f} ГБ',
'Процент использования': f'{memory.percent}%'
}

def get_top_processes(n=10):

processes = []
for proc in sorted(psutil.process_iter(['pid', 'name', 'cpu_percent', 'memory_percent']),
key=lambda x: x.info['cpu_percent'],
reverse=True)[:n]:
try:
processes.append([
proc.info['pid'],
proc.info['name'],
f"{proc.info['cpu_percent']:.2f}%",
f"{proc.info['memory_percent']:.2f}%"
])
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass

return processes

def main():

print("=== Мониторинг системы ===")

print(f"\nЗагрузка CPU: {get_cpu_usage()}%")

print("\nИспользование памяти:")
for key, value in get_memory_usage().items():
print(f"{key}: {value}")

print("\nТоп процессов по использованию CPU:")
top_processes = get_top_processes()
print(tabulate(top_processes,
headers=['PID', 'Название', 'CPU %', 'Память %'],
tablefmt='grid'))

if __name__ == '__main__':
main()

#СекретыСисадмина
More from @sysadmin_library
  1. Sep 26, 2026Файловый сервер SFTPGo Полнофункциональный и высококонфигурируемый SFTP-сервер с дополните…
  2. Sep 26, 2026Post #5013
  3. Sep 25, 2026Что такое Docker? В этом ролике автор по полочкам разложит, что такое Docker, как он работ…
  4. Sep 25, 2026✨ Как настроить PostgreSQL для продакшен-нагрузок При переходе к продакшен-нагрузкам важно…
  5. Sep 25, 2026Поиск осиротевших компьютеров в AD с Powershell В небольших организациях, когда списывают…
  6. Sep 25, 2026Прокачай терминал! Полезные трюки, которые сделают тебя гуру консоли О том, что командная…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →