مشاهده سخت افزار سرور لینوکس یکی از اولین کارهایی است که هر مدیر سرور باید بلد باشد؛ چه برای بررسی منابع قبل از نصب یک سرویس، چه برای عیب یابی و چه برای تصمیم گیری دربارهٔ ارتقا. خبر خوب این است که لینوکس ابزارهای قدرتمندی برای این کار دارد و بیشترشان به صورت پیش فرض نصب اند و نیازی به ابزار جانبی ندارید. همین چند دستور، هم برای مدیر سرور حرفه ای و هم برای کسی که تازه کار با لینوکس را شروع کرده کاربردی است.
در این راهنمای همیشه سبز، دستورهای کاربردی برای دیدن مشخصات هر بخش از سرور را مرور میکنیم: پردازنده، حافظهٔ رم، دیسک و فضای ذخیره سازی، کارت شبکه و در نهایت نمای کلی از کل سیستم. هر دستور را با یک مثال ساده نشان میدهیم تا بتوانید مستقیم روی سرور خودتان اجرا کنید.
برای دیدن مشخصات پردازنده مثل تعداد هسته، مدل، فرکانس و معماری، دستور lscpu بهترین انتخاب است. این دستور خروجی مرتب و خوانایی از تمام جزئیات پردازنده میدهد.
# مشخصات کامل پردازنده lscpu # اطلاعات خام تر از فایل سیستمی cat /proc/cpuinfo # فقط تعداد هسته های پردازنده nproc
اگر فقط تعداد هسته ها برایتان مهم است، nproc سریع ترین راه است. برای جزئیات بیشتر مثل کش و مجموعه دستورات، خروجی lscpu یا فایل proc/cpuinfo کامل تر است.
برای بررسی مقدار کل رم، میزان استفاده شده و آزاد، دستور free رایج ترین ابزار است. گزینهٔ h- خروجی را به صورت خوانا (مثلا گیگابایت) نشان میدهد.
# مقدار رم به صورت خوانا free -h # اطلاعات خام حافظه cat /proc/meminfo # جزئیات ماژول های فیزیکی رم (نیاز به دسترسی روت) sudo dmidecode -t memory
دستور free وضعیت فعلی مصرف رم را نشان میدهد، اما اگر بخواهید بدانید چند ماژول فیزیکی رم نصب است و ظرفیت هر کدام چقدر است، dmidecode با گزینهٔ memory این اطلاعات را از سطح سخت افزار میخواند.
برای دیسک ها دو نگاه متفاوت داریم: ساختار دیسک ها و پارتیشن ها، و میزان فضای مصرف شده. دستور lsblk ساختار دیسک ها و پارتیشن ها را به صورت درختی نشان میدهد و df فضای در دسترس و مصرف شده را.
# ساختار دیسک ها و پارتیشن ها lsblk # فضای مصرف شده و آزاد به صورت خوانا df -h # جزئیات کامل دیسک ها (نیاز به روت) sudo fdisk -l
ترکیب lsblk و df -h معمولا برای بررسی روزمرهٔ دیسک کافی است. اگر به جزئیات سطح پایین تر مثل نوع جدول پارتیشن نیاز دارید، fdisk با گزینهٔ l- تصویر کاملی میدهد.
علاوه بر ظرفیت، سلامت فیزیکی دیسک هم مهم است. با ابزار smartctl از بستهٔ smartmontools میتوانید وضعیت سلامت دیسک و نشانه های خرابی احتمالی را ببینید.
# نصب smartmontools در صورت نبود sudo apt install smartmontools -y # گزارش کامل سلامت دیسک sudo smartctl -a /dev/sda
بررسی دوره ای SMART کمک میکند قبل از خراب شدن کامل دیسک، نشانه های هشدار را تشخیص دهید و از از دست رفتن داده جلوگیری کنید.
برای دیدن کارت های شبکه، آی پی ها و وضعیت اتصال، دستور ip رایج ترین و به روزترین ابزار است و جایگزین دستور قدیمی ifconfig شده است.
# کارت های شبکه و آی پی ها ip addr # جزئیات سخت افزاری کارت شبکه sudo lshw -class network
دستور ip addr برای دیدن آدرس ها و وضعیت کارت ها کافی است، اما اگر بخواهید مدل و مشخصات سخت افزاری کارت شبکه را بدانید، lshw با کلاس network این اطلاعات را میدهد.
برای دیدن دستگاه های متصل به گذرگاه PCI مثل کارت گرافیک، کنترلر رید و کارت شبکه، دستور lspci کاربردی است. برای دستگاه های USB هم lsusb همین کار را انجام میدهد.
# فهرست دستگاه های PCI lspci # فقط کارت گرافیک lspci | grep -i vga # دستگاه های USB متصل lsusb
این دستورها مخصوصا وقتی مفیدند که بخواهید مطمئن شوید یک قطعهٔ خاص مثل کارت گرافیک یا کنترلر ذخیره سازی توسط سیستم شناسایی شده است.
گاهی در کنار سخت افزار، باید نسخهٔ سیستم عامل و کرنل و مدت روشن بودن سرور را هم بدانید. این اطلاعات برای عیب یابی و بررسی پایداری سرور مهم اند.
# نسخهٔ توزیع لینوکس cat /etc/os-release # نسخهٔ کرنل uname -r # مدت روشن بودن و بار سیستم uptime # اطلاعات کلی میزبان hostnamectl
دستور uptime علاوه بر مدت روشن بودن، بار سیستم (Load Average) را هم نشان میدهد که معیار خوبی برای فهمیدن فشار روی سرور است.
یک سوال رایج این است که آیا سرور یک ماشین فیزیکی است یا مجازی. این موضوع در تصمیم گیری دربارهٔ منابع و عیب یابی اهمیت دارد و لینوکس ابزار ساده ای برای تشخیص آن دارد.
# تشخیص نوع مجازی سازی (خروجی none یعنی فیزیکی) systemd-detect-virt # نام محصول سیستم از سطح سخت افزار sudo dmidecode -s system-product-name
اگر systemd-detect-virt خروجی مثل kvm یا vmware یا xen بدهد، سرور شما مجازی است؛ و اگر none برگرداند، روی سخت افزار فیزیکی اجرا میشود. این تشخیص کمک میکند انتظار درستی از رفتار منابع سرور داشته باشید و بدانید سخت افزاری که می بینید فیزیکی است یا لایه ای از مجازی سازی.
گاهی به جای بررسی جداگانهٔ هر بخش، میخواهید یک نمای کامل از کل سخت افزار سرور داشته باشید. برای این کار دو ابزار قدرتمند وجود دارد که تصویر جامعی از همهٔ اجزا میدهند.
# نمای کامل و مرتب کل سخت افزار sudo lshw -short # اطلاعات مادربرد، بایوس و سریال (از DMI) sudo dmidecode # اطلاعات سیستم و کرنل uname -a
دستور lshw با گزینهٔ short- یک جدول خلاصه و خوانا از کل سخت افزار میدهد که برای مرور سریع عالی است. dmidecode هم اطلاعات دقیقی از مادربرد، بایوس و سریال قطعات را مستقیم از سطح سخت افزار میخواند. اگر یک ابزار همه کاره و خوانا میخواهید، inxi هم گزینهٔ خوبی است؛ با دستور inxi -Fxz یک گزارش کامل و مرتب از پردازنده، رم، دیسک، شبکه و سیستم را در یک نگاه میدهد و در صورت نبود، با پکیج منیجر توزیع نصب میشود. برای تسلط بیشتر روی این ابزارها، مرور آموزش دستورات لینوکس کمک زیادی میکند.
این جدول کمک میکند سریع دستور مناسب هر بخش را پیدا کنید.
| بخش سخت افزار | دستور اصلی | کاربرد |
|---|---|---|
| پردازنده | lscpu | مدل، هسته، فرکانس، معماری |
| رم | free -h | مقدار کل و مصرف رم |
| دیسک | lsblk و df -h | ساختار دیسک و فضای آزاد |
| شبکه | ip addr | کارت شبکه و آی پی |
| کل سیستم | lshw -short | نمای کامل سخت افزار |
اگر تازه به یک سرور دسترسی گرفته اید و میخواهید سریع مشخصاتش را بشناسید، این ترتیب ساده کار را راه می اندازد و در کمتر از یک دقیقه تصویر روشنی از منابع سرور به شما میدهد.
با lshw -short یک تصویر کامل از کل سخت افزار سرور ببین.
پردازنده را با lscpu، رم را با free -h و دیسک را با lsblk و df -h بررسی کن.
برای جزئیات سطح سخت افزار مثل ماژول رم و مادربرد از dmidecode استفاده کن.
جمع بندی: مشاهدهٔ سخت افزار سرور لینوکس با چند دستور ساده و بدون نصب ابزار خاص انجام میشود: lscpu برای پردازنده، free برای رم، lsblk و df برای دیسک، ip برای شبکه، و lshw یا dmidecode برای نمای کامل. همین چند دستور برای بیشتر نیازهای روزمرهٔ مدیریت سرور کافی است.
پیشنهاد میکنیم این دستورها را یک بار روی سرور خودتان اجرا کنید تا با خروجی هرکدام آشنا شوید؛ این آشنایی هنگام عیب یابی یا تصمیم برای ارتقای منابع بسیار به کارتان می آید.
سرور مجازی و اختصاصی با سخت افزار مشخص و پشتیبانی پاسخگو؛ بقیه اش با ما.
با دستور lscpu مشخصات کامل پردازنده از جمله تعداد هسته را میبینید، و با nproc فقط تعداد هسته های در دسترس را سریع دریافت میکنید.
دستور free -h مقدار کل، مصرف شده و آزاد رم را به صورت خوانا نشان میدهد. برای جزئیات ماژول های فیزیکی هم از sudo dmidecode -t memory استفاده کنید.
با lsblk ساختار دیسک ها و پارتیشن ها را به صورت درختی و با df -h فضای مصرف شده و آزاد را میبینید. برای جزئیات بیشتر از sudo fdisk -l استفاده کنید.
دستور sudo lshw -short یک جدول خلاصه از کل سخت افزار میدهد و sudo dmidecode اطلاعات دقیق مادربرد، بایوس و قطعات را از سطح سخت افزار میخواند.
بیشتر دستورها مثل lscpu و free و lsblk و df و ip به صورت پیش فرض نصب اند. برخی مثل lshw و dmidecode ممکن است نیاز به نصب داشته باشند که با پکیج منیجر توزیع نصب میشوند.
famaserver