یکی از مهمترین ویژگیهای هر سرور، عملکرد آن است. ممکن است بارها در هنگام کار با یک سرور لینوکسی با کندی اجرای دستورات مواجه شده باشید یا کاربران شما از سرعت پایین وبسایت یا اپلیکیشنی که روی سرور اجرا میشود، ناراضی باشند. در این راهنما به بررسی ابزارهایی برای عیبیابی عملکرد سرور لینوکس میپردازیم.
استفاده از دستور top
دستور top
برای نمایش لحظهای پردازشهای سرور و جزئیات آنها استفاده میشود. خروجی این دستور به دو بخش تقسیم میشود: بخش بالایی اطلاعات کلی دربارهی سرور و منابع آن ارائه میدهد و بخش پایینی لیست پروسههای در حال اجرا را نمایش میدهد.
top
بخش بالایی خروجی top
:
- خط اول: زمان، Uptime، تعداد کاربران وارد شده و میانگین بار (Load Average) سرور.
- خط دوم: تعداد تسکها و وضعیت هرکدام.
- خط سوم و چهارم: مصرف CPU و RAM.
بخش پایینی خروجی top
:
- PID: شناسهی پروسه
- USER: یوزری که پروسه را اجرا کرده
- PR: اولویت پروسه
- NI: مقدار nice پروسه
- VIRT: مقدار حافظهی مجازی مصرفی
- RES: مقدار حافظهی فیزیکی مصرفی
- SHR: مقدار حافظهی مشترک مصرفی
- S: وضعیت پروسه (D: توقف بیوقفه، R: در حال اجرا، S: متوقف، Z: زامبی)
- %CPU: درصد استفاده از CPU
- %MEM: درصد استفاده از حافظه
- TIME+: مدت زمان استفاده از CPU
- COMMAND: دستوری که پروسه را اجرا کرده
متوقف کردن پروسهها با دستور kill
با بررسی خروجی top
، ممکن است نیاز به توقف پروسهای داشته باشید که منابع زیادی مصرف میکند. برای این کار از دستور kill
استفاده کنید:
kill 4592
اگر دستور فوق پروسه را متوقف نکرد، از سوییچ -9
استفاده کنید:
kill -9 4592
بررسی مصرف حافظه با دستور free
برای بررسی وضعیت RAM سرور، دستور free
را اجرا کنید:
free
خروجی دستور free
:
- total: کل مقدار RAM
- used: میزان RAM مصرفشده
- free: میزان RAM آزاد
- shared: مقدار RAM استفادهشده توسط فایل سیستم موقت (tmpfs)
- buff/cache: مقدار حافظهای که کرنل برای کش دادهها استفاده میکند
- available: مقدار حافظه قابل استفاده توسط پروسههای جدید
سوییچهای مفید:
-h
: نمایش خروجی بهشکل قابل فهم و همراه با واحد-m
: نمایش خروجی با واحد مگابایت-g
: نمایش خروجی با واحد گیگابایت
توجه داشته باشید که کرنل لینوکس حافظه را برای بافر و کش دیسک استفاده میکند و در صورت نیاز سیستم، این حافظه را آزاد میکند. بنابراین اگر خروجی free
نشاندهندهی کمبود حافظه است، ابتدا ستون buff/cache
را بررسی کنید.
بررسی فضای دیسک با دستورات df و du
برای بررسی فضای ذخیرهسازی و دیسک سرور، از دستور df
استفاده کنید:
df -h
خروجی دستور df
:
- Filesystem: نام درایو
- Size: اندازه درایو
- Used: فضای مصرفشده
- Avail: فضای آزاد
- %Use: درصد استفاده از دیسک
- Mounted on: دایرکتوری مانت شده
برای بررسی میزان دیسک استفادهشده در هر دایرکتوری، از دستور du
استفاده کنید:
du -hs
برای مشخص کردن دایرکتوری خاص:
du -hs /etc
با استفاده از این دستورات میتوانید بهراحتی عملکرد سرور لینوکس خود را عیبیابی و بهینهسازی کنید.