Хоча у мене дуже швидкий комп'ютер, мене постійно дратувало, що весь комп'ютер відчував себе нечутливим, а миша та клавіатура підлаглували, бо деякі завдання запускали купу інтенсивних процесів одночасно і закріплювали кожен процесор майже на 100% завантаженості. Наприклад, у мене часто відкрито 10 проєктів у Cursor у режимі WSL під Windows 11. Коли Cursor оновлювався і перезапускався, всі ці процеси запускалися одночасно, це розчавлювало мою машину. Або я працюю над різними проєктами одночасно, і раптом один із агентів намагається скомпілювати велику кодову базу Rust, а потім моя миша починає підлагувати, що мене дратує. Зрештою мені це набридло, і я вирішив щось із цим зробити. Є деякі вже існуючі пакети, які виконували багато того, що я хотів, особливо Ananicy, але я хотів щось, що автоматично обробляло б усі налаштування для розв'язання конкретних проблем, з якими я стикався. В основному, це працює так: він виявляє процес, що використовує надто багато процесора, а потім змінює рівень пріоритету (наскільки це «гарно» в Unix), щоб знизити його і відновити чутливість машини. Це також може робити те саме для процесів, які вбивають ваш I/O через безліч відкритих файлів і багато використання I/O за допомогою «ionice». Мені дуже хотілося щось, що робить усе — встановлення, налаштування, збереження тощо — з однорядковою інсталяцією, яка «просто працює». Це показано на першому скріншоті нижче. І поки я це робив, я вирішив зробити системний монітор у Golang під назвою sysmon з дуже зручним інтерфейсом терміналу (див. другий і третій скріншоти нижче). Іронічно, але це перетворилося на набагато більший проєкт сам по собі, але я все одно залишаю його частиною цієї об'єднаної системи. Це щось на кшталт htop або btop, але зосереджене виключно на виявленні неслухняних програм/процесів, які вбивають продуктивність вашої системи. Він показує найгірших порушників і враховує I/O. Є спеціальні міні-команди для Cursor і Cargo, бо саме вони створювали найбільше проблем. У будь-якому разі, подивіться і дайте знати, що ви думаєте. Весь проект повністю відкритий, ліцензований MIT, і його можна знайти тут: