دستورات مهم و کاربردی لینوکس
ما شما را با ۱۰ دستور مهم لینوکس که هر مدیر سیستم باید بداند آشنا میکنیم. با داشتن این ابزارها، به خوبی برای مقابله با چالشهای مرتبط با عملکرد سیستمهای لینوکسی آماده خواهید بود.
مدیران سیستم لینوکس نیازمند مجموعهای قوی از ابزارها برای نظارت و بهینهسازی موثر سیستمهای خود هستند. داشتن درک عمیق از دستورات عملکرد میتواند به شما کمک کند تا به سرعت مشکلات را شناسایی و حل کنید و از عملکرد بهینه سیستم اطمینان حاصل کنید. در این مقاله، به بررسی ۱۰ دستور برتر عملکرد لینوکس برای مدیران سیستم میپردازیم و نمای کلی از عملکرد و کاربرد هر یک ارائه میدهیم.
به عنوان یک مدیر سیستم، طی سالها فهرستی از ۱۰ دستور برتر عملکرد لینوکس که روزانه از آنها استفاده میکنم را تهیه کردهام. در این پست وبلاگ، این دستورات محبوب را با شما به اشتراک میگذارم و توضیح میدهم چرا آنها را ضروری میدانم. پس بیایید بدون مقدمه بیشتر، وارد موضوع شویم!
top
دستور “بالا” مورد علاقه مطلق من است و مطمئن هستم که بسیاری از شما با آن موافق هستید. این یک نمای زنده و پویا از فرآیندهای سیستم، استفاده از حافظه و بار CPU ارائه می دهد. صادقانه بگویم، من عاشق سادگی و سهولت آن هستم که می توانم فرآیندهای تشنه منابع را شناسایی کنم.
اگرچه برخی از مردم «htop» را به دلیل نمایشگر رنگی و ویژگیهای اضافی آن ترجیح میدهند، من از طرفداران سرسخت دستور کلاسیک «بالا» هستم.
iostat
در ادامه ۱۰ دستور عملکرد لینوکس من همیشه عملکرد دیسک را یک جنبه مهم از عملکرد سیستم میدانستم. اینجاست که «iostat» وارد میشود. برای نظارت بر ورودی/خروجی دیسک عالی است و به من کمک میکند تا گلوگاههای احتمالی را شناسایی کنم.
دستور ‘iostat’ بخشی از بسته ‘sysstat’ است که همیشه در توزیع های لینوکس از قبل نصب نشده است. در اینجا نحوه نصب «sysstat» در برخی از توزیعهای محبوب لینوکس آمده است:
دبیان و اوبونتو:
برای نصب «sysstat» در دبیان و اوبونتو، یک ترمینال را باز کنید و دستور زیر را اجرا کنید:
sudo apt-get install sysstat
Red Hat، CentOS و Fedora:
برای نصب «sysstat» در سیستمهای مبتنی بر Red Hat، یک ترمینال را باز کنید و دستور زیر را اجرا کنید:
sudo yum سیستم را نصب کنید
آرچ لینوکس:
برای نصب «sysstat» در آرچ لینوکس، یک ترمینال را باز کنید و دستور زیر را اجرا کنید:
sudo pacman -S sysstat
SUSE و openSUSE :
برای نصب «sysstat» در SUSE و openSUSE، یک ترمینال را باز کنید و دستور زیر را اجرا کنید:
sudo zypper سیستم را نصب کنید
پس از نصب «sysstat»، میتوانید از دستور «iostat» برای نظارت بر آمار ورودی/خروجی دیسک استفاده کنید. به یاد داشته باشید که اگر برای اجرای دستور به امتیازات بالاتری نیاز دارید، از «sudo» استفاده کنید یا به کاربر ریشه سوئیچ کنید. با این حال، ای کاش خروجی پیش فرض کمی کاربرپسندتر بود. اما هی، کار را انجام می دهد، و این چیزی است که اهمیت دارد.
برای نمایش آمار ورودی/خروجی دیسک برای همه دستگاه ها در هر ۵ ثانیه از دستور زیر استفاده کنید. این به شما کمک می کند عملکرد دیسک را نظارت کنید و گلوگاه ها را شناسایی کنید.
vmstat
vmstat” فرمان دیگری است که من به شدت به آن تکیه می کنم. آمار حافظه مجازی را گزارش میکند، که به من کمک میکند بفهمم سیستم چگونه از حافظه استفاده میکند و فضای مبادلهای را انجام میدهد. من آن را به ویژه در هنگام سر و کار داشتن با برنامه های حافظه فشرده مفید می دانم.
تنها چیزی که من از آن طرفدار نیستم خروجی تا حدی مرموز آن است. اما وقتی به آن دست پیدا کردید، ابزار قدرتمندی است. برای نمایش آمار حافظه مجازی هر ۳ ثانیه از دستور زیر استفاده کنید. این به شما کمک میکند بفهمید که سیستم چگونه از حافظه و فضای مبادله استفاده میکند، که هنگام کار با برنامههای فشرده حافظه مفید است.
free
دستور «free» برای دریافت یک نمای کلی سریع از میزان استفاده از حافظه سیستم عالی است. ساده است، خواندن آن آسان است و مستقیماً سر اصل مطلب می رود. من دوست دارم از آن برای بررسی اینکه آیا سرورهای من حافظه آزاد کافی دارند استفاده کنم.
تنها مشکل من با “رایگان” فقدان گزینه های سفارشی سازی است، اما با توجه به هدف آن یک مسئله جزئی است. برای نمایش میزان مصرف حافظه با فرمت قابل خواندن توسط انسان، از دستور زیر استفاده کنید. این به شما یک نمای کلی از کل، استفاده شده و موجود حافظه و فضای مبادله می دهد.
sar
sar’ چاقوی ارتش سوئیس برای نظارت بر عملکرد است. این می تواند تقریباً در هر جنبه ای از عملکرد سیستم، از استفاده از CPU تا فعالیت شبکه، اطلاعاتی را ارائه دهد. من از تطبیق پذیری آن و این واقعیت که داده های تاریخی را جمع آوری می کند، قدردانی می کنم و به من امکان می دهد روندها را تجزیه و تحلیل کنم و مسائل گذشته را تشخیص دهم.
از جنبه منفی، تعداد زیاد گزینه ها می تواند بسیار زیاد باشد. این ابزار قدرتمندی است اما برای تسلط بر آن به صبر نیاز دارد. برای نمایش میانگین مصرف CPU برای روز جاری، از دستور زیر استفاده کنید. این به شما کمک می کند روند استفاده از CPU را تجزیه و تحلیل کنید و با جمع آوری داده های تاریخی، مشکلات گذشته را تشخیص دهید.
Sar نیز بخشی از بسته سیستم است. لطفاً قبل از اجرای دستور بعدی برای نصب systat بر روی سیستم لینوکس خود به بخش “iostat” مراجعه کنید.
sar -u
آیا پس از اجرای دستور sar -u این خطا را دریافت می کنید؟
نمی توان /var/log/sysstat/sa28 را باز کرد: چنین فایل یا دایرکتوری وجود ندارد
لطفاً بررسی کنید که آیا جمعآوری دادهها فعال است یا خیر
این پیام خطا نشان می دهد که داده های فعالیت سیستم مورد نیاز برای “sar” جمع آوری یا ذخیره نمی شود. برای رفع این مشکل، باید جمع آوری داده ها را فعال کرده و بسته sysstat را به درستی پیکربندی کنیم.
mpstat
به عنوان یک مدیر سیستم که سرورهای چند هسته ای را مدیریت می کند، “mpstat” یک نجات دهنده است. استفاده از هر هسته پردازنده را نشان می دهد که به من کمک می کند توزیع بار سیستم را درک کنم. به نظر من آن را به ویژه برای تنظیم برنامه هایی که نیاز به بهینه سازی برای سیستم های چند هسته ای دارند مفید می دانم.
من واقعاً نمی توانم هیچ نقصی در این مورد پیدا کنم – دقیقاً همان کاری را انجام می دهد که من باید انجام دهم! برای نمایش میزان استفاده از CPU برای هر هسته پردازنده، از دستور زیر استفاده کنید. این به شما کمک می کند تا توزیع بار سیستم را درک کنید، که به ویژه برای تنظیم برنامه های بهینه شده برای سیستم های چند هسته ای مفید است.
netstat
مشکلات شبکه می تواند یک دردسر واقعی باشد، و اینجاست که “netstat” مفید است. این دستور اصلی من برای نظارت بر اتصالات شبکه، جداول مسیریابی و آمار رابط است. باید اعتراف کنم، من یک نقطه نرم برای این یکی دارم – این من را از ساعت های بی شماری از عیب یابی نجات داد.
تنها نقطه ضعف آن این است که به نفع «ss» منسوخ شده است، اما عادات قدیمی سخت از بین می روند، و من همچنان استفاده از «netstat» را ترجیح می دهم.
برای نمایش تمام اتصالات شبکه فعال و وضعیت مربوط به آنها از دستور زیر استفاده کنید. این به شما کمک می کند تا اتصالات شبکه را نظارت کرده و مشکلات احتمالی را شناسایی کنید.
دستور «netstat» بخشی از بسته «net-tools» است که همیشه روی توزیعهای لینوکس از پیش نصب نشده است. در اینجا نحوه نصب net-tools در برخی از توزیع های محبوب لینوکس آورده شده است:
دبیان و اوبونتو:
برای نصب «net-tools» در دبیان و اوبونتو، یک ترمینال را باز کنید و دستور زیر را اجرا کنید:
sudo apt-get install tools net
Red Hat، CentOS و Fedora:
برای نصب net-tools در سیستم های مبتنی بر Red Hat، یک ترمینال را باز کنید و دستور زیر را اجرا کنید:
sudo yum نصب ابزارهای شبکه
آرچ لینوکس:
برای نصب net-tools در Arch Linux، یک ترمینال را باز کنید و دستور زیر را اجرا کنید:
sudo pacman -S net-tools
SUSE و openSUSE:
برای نصب «net-tools» در SUSE و openSUSE، یک ترمینال را باز کنید و دستور زیر را اجرا کنید:
همچنین بخوانید
sudo zypper نصب ابزارهای شبکه
پس از نصب «net-tools»، میتوانید از دستور «netstat» برای نمایش اتصالات شبکه فعال و وضعیت آنها استفاده کنید. به یاد داشته باشید که اگر برای اجرای دستور به امتیازات بالاتری نیاز دارید، از «sudo» استفاده کنید یا به کاربر ریشه سوئیچ کنید.
netstat -tunap
ss
وقتی صحبت از «ss» شد، جانشینی شایسته برای «netstat» است. سریعتر و قدرتمندتر است و اطلاعات دقیقی درباره سوکتها و اتصالات شبکه ارائه میکند. من کم کم دارم با آن گرم می شوم و باید اعتراف کنم که با گذشت زمان بر من رشد کرده است.
فقط یک موضوع عادت کردن به نحو جدید است، و هنگامی که این کار را انجام دادید، ‘ss’ می تواند افزودنی ارزشمندی برای جعبه ابزار شما باشد.
برای نمایش اطلاعات دقیق در مورد سوکت ها و اتصالات شبکه از دستور زیر استفاده کنید. این شبیه به netstat است اما سریعتر و قدرتمندتر است.
lsof
“lsof” یک جواهر دست کم گرفته شده است. این مخفف عبارت “فیلم های باز لیست” است، اما خیلی بیشتر از این کار می کند. این می تواند به شما کمک کند ردیابی کنید که کدام فرآیندها از فایل ها، دایرکتوری ها یا سوکت های خاصی استفاده می کنند، که در هنگام اشکال زدایی مسائل پیچیده بسیار مفید است.
تنها نقطه ضعف این است که خروجی می تواند کاملاً پرمخاطب باشد و ممکن است مدتی طول بکشد تا اطلاعات مورد نیاز خود را پیدا کنید. اما در کل، این فرمان قدرتمندی است که نمیخواهم بدون آن باشم.
برای نمایش لیستی از فایل های باز و فرآیندهای استفاده از آنها از دستور زیر استفاده کنید. این در هنگام اشکال زدایی مسائل مربوط به استفاده از فایل، مانند شناسایی فرآیندهایی که فایل های خاصی را قفل کرده اند، مفید است.
strace
۱۰ دستور عملکرد لینوکس در آخرین اما نه کماهمیت، وقتی صحبت از اشکالزدایی مشکلات برنامه به میان میآید، «strace» نجاتبخش است. تماسها و سیگنالهای سیستم را ردیابی میکند و به شما امکان میدهد دقیقاً ببینید که یک فرآیند در حال انجام چه کاری است. تعداد دفعاتی که این دستور مرا در زمانی که همه روشهای اشکالزدایی دیگر ناموفق بوده است، از دست دادهام.
با این حال، “strace” بدون نقص نیست. ممکن است کند باشد و رمزگشایی خروجی دشوار باشد. اما وقتی به آن نیاز دارید، هیچ جایگزینی برای بینش هایی که ارائه می دهد وجود ندارد.
برای ردیابی تماس های سیستم و سیگنال های یک فرآیند خاص، از دستور زیر استفاده کنید. این به شما کمک میکند تا بفهمید فرآیند در حال انجام چه کاری است، که میتواند هنگام اشکالزدایی مشکلات برنامه بسیار ارزشمند باشد.
strace -p [PID] [PID] را با شناسه فرآیند فرآیندی که میخواهید ردیابی کنید جایگزین کنید.
راه های مختلفی برای مشاهده PID یک فرآیند وجود دارد. پیشنهاد می کنم از دستور ps برای خروجی سریع استفاده کنید.