IranTop
مانیتورینگ سیستم فوقسریع و زیبا برای لینوکس — با راست و رتتویی
راستRatatuiCrosstermsysinfoلینوکس
گالری
3 تصویر — کلیک برای بزرگنماییچیست
IranTop یک ابزار حرفهای مانیتورینگ لحظهای سیستم برای کاربران حرفهای لینوکس است که با راست نوشته شده. دسترسی سطح پایین به سیستم را با یک رابط کاربری متنی (TUI) مدرن و تعاملی مبتنی بر Ratatui ترکیب میکند — مثل htop اما با نمودارهای صیقلی و زبان طراحی تمیزتر.
ویژگیهای کلیدی
- ۴ حالت نمودار در لحظه — سوییچ بین خطی، ستونی، اسپارکلاین و دونات فقط با یک کلید (
v). - نمای هوشمند CPU — چیدمان حرفهای دوستونه: استفاده کل سیستم، وضعیت تکتک هستهها و تاریخچه همزمان.
- مدیریت زنده فرایندها — پیمایش، جستجو (
/)، مرتبسازی بر اساس CPU/MEM/PID/نام و بستن فرایندها با پاپآپ تأیید تعاملی. - سریع و سبک — انتزاعهای بیهزینه راست و ردپای منابع عمداً حداقلی.
- رابط تعاملی — پشتیبانی کامل موس، میانبرهای بصری و اعلانهای (Toast) لحظهای.
- مانیتورینگ GPU — پشتیبانی بومی انویدیا از طریق
nvidia-smi.
معماری (بر اساس سورس)
src/
├── main.rs # نقطه ورود
├── app.rs # وضعیت و ارکستراسیون اپ
├── system/ # جمعآوری داده سیستم (با sysinfo)
├── ui/ # رندر رابط ترمینال
├── theme/ # تمهای رنگی
├── input/ # مدیریت کیبورد و موس
└── utils.rs
کد عمداً کوچک و متمرکز است — فقط سه وابستگی زمان اجرا آن را سریع و قابل ممیزی نگه میدارد.
کلیدهای میانبر
| کلید | عملکرد |
|---|---|
q |
خروج |
Tab |
جابجایی بین تبها |
v |
چرخه حالت نمودار (خطی / ستونی / اسپارکلاین / دونات) |
/ |
جستجوی فرایندها |
k / Enter |
بستن فرایند انتخابشده |
r |
معکوس کردن ترتیب |
c/m/p/n |
مرتبسازی بر اساس CPU / MEM / PID / نام |
وابستگیها
ratatui 0.26— فریمورک رابط ترمینالcrossterm 0.27— کنترل ترمینال (رویدادها، حالت خام، موس)sysinfo 0.33— اطلاعات سیستم و فرایند- برای متریک GPU در زمان اجرا:
nvidia-smi
شروع کار
cargo run --release
چرا برجسته است
IranTop مثال خوبی از خویشتنداری است: سه وابستگی، تفکیک تمیز میان جمعآوری داده، تمینگ و رندر، و رابطی که نمودار زنده را در ترمینال طبیعی نشان میدهد. این پروژه هنر TUI را نشان میدهد — ردروهای نرم، تعامل موس و هویتی بصری که بیشتر ابزارهای ترمینالی ندارند.