ابرآراز | ArazCloud

راهنمای عیب‌یابی عملکرد سرور لینوکس

یکی از مهم‌ترین ویژگی‌های هر سرور، عملکرد آن است. ممکن است بارها در هنگام کار با یک سرور لینوکسی با کندی اجرای دستورات مواجه شده باشید یا کاربران شما از سرعت پایین وب‌سایت یا اپلیکیشنی که روی سرور اجرا می‌شود، ناراضی باشند. در این راهنما به بررسی ابزارهایی برای عیب‌یابی عملکرد سرور لینوکس می‌پردازیم.

استفاده از دستور 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

با استفاده از این دستورات می‌توانید به‌راحتی عملکرد سرور لینوکس خود را عیب‌یابی و بهینه‌سازی کنید.