tech news world :
اگر هر سیستم عاملی را برای مدت طولانی اجرا کرده باشید، احتمالاً با پدیده های عجیب و غریبی روبرو شده اید. وقتی صحبت از رایانه به میان میآید، معمولاً عجیب نیست. هر چه مدت زمان بیشتری نصب سیستم عامل را بدون نصب مجدد اجرا کنید، احتمال بیشتری وجود دارد که حداقل چند ابهام را مشاهده کنید. این می تواند هر چیزی باشد، از انجماد برنامه ها، بالا رفتن ناگهانی فن خنک کننده، تا انواع عجیب و غریب.
برای سیستمعاملهای دسکتاپ تجاری با پایههای نصب عظیم، یافتن پشتیبانی در قالب صفحههای عیبیابی و مستندات سازنده رسمی (OEM) یا توسعهدهنده سیستم عامل آسان است. با این حال، برای لینوکس چنین منابعی همیشه در دسترس نیستند. حتی زمانی که چنین هستند، همیشه از توزیعی به توزیع دیگر راهنمایی نمی کنند و تضمین نمی شود که سخت افزار خاص کاربر را در نظر بگیرند.
در این بخش من چند مسیری را که میتوانید برای ردیابی رفتار مشکوک در سیستم لینوکس خود طی کنید، ارائه میدهم. این توالی تشخیص نه قطعی است و نه سفت و سخت. من ادعا نمیکنم که همه کارهایی را که باید انجام دهید تا بفهمید چه چیزی در سیستم لینوکس شما اشتباه است را میدانم، و حتی اگر این کار را میکردم، یک شعر حماسی از یک مقاله میسازد.
کاملاً ممکن است که هر روشی برای مشکل مورد نظر قابل اجرا نباشد. هدف من، با این حال، ارائه تعداد زیادی تست است که حداقل باید مکانی برای شروع به شما بدهد. بهراحتی، اینها (به استثنای یک استثنا)، به خوبی در لینوکس دسکتاپ یا سرور به شما خدمت خواهند کرد، زیرا از ابزارهای خط فرمان استفاده میکنند.
آنچه در ادامه میآید به ترتیب لایههای انتزاعی بالا به پایین، یعنی از سطح برنامه به سطح سیستمعامل پیش میرود. بدون مقدمه، بیایید حفاری کنیم.
کار مرورگر خاموش است؟ Task Manager را باز کنید
مرورگرها آنقدر قوی و محوری در تجربه محاسبات دسکتاپ شده اند که اکنون مدیر فرآیند خود را به سبک سیستم عامل دارند. این ابزارها به کاربران این امکان را میدهند تا ببینند که چه اتصالات وب باز از منابع سیستم استفاده میکنند و تا چه حد.
اگر مرورگر وب شما برنامه اصلی در حال اجرا در رایانه شما در هنگام ظهور منابع یا کاهش سرعت است، مدیر فرآیند یک منبع ارزشمند است. این تصویر واضحتر از مدیر فرآیند سیستم عامل شما ارائه میکند، زیرا مدیر فرآیند مرورگر میداند کدام یک از فرآیندهای تشکیلدهنده آن توسط کدام صفحات وب هدایت میشوند.
هر مرورگری روش خاص خود را برای رسیدن به مدیر وظیفه خود دارد. در فایرفاکس و کروم، میتوانید از منوی سمت راست مربوطه به Task Manager دسترسی داشته باشید. Chromium و مشتقات نزدیک (مانند کروم) همچنین گزینه فشار دادن کلیدهای Shift + Escape را برای دسترسی به ابزار ارائه می دهند. هنگامی که مدیر وظیفه را باز کردید، می توانید فرآیندها را بر اساس میزان مصرف CPU یا حافظه مرتب کنید تا مشخص کنید که هر کدام از آنها چه چیزی را درگیر می کند. در نهایت، میتوانید فرآیند مرورگری را که سعی میکند به سختافزار رایانه شما بچسبد، از بین ببرید.
آن را از “بالا” بگیرید
اگر مرورگر شما ستاره نمایش نیست، احتمالاً می خواهید تمام فرآیندهایی که سیستم شما در حال انجام آن است را ببینید. بهترین راه برای انجام این کار این است که ترمینال خود را باز کنید و از دستور top استفاده کنید. در اصل، این یک مدیر وظیفه برای سیستمهای شبه یونیکس (مانند لینوکس) است. با استفاده از آن، می توانید میزان مصرف CPU، میزان استفاده از حافظه و موارد دیگر را برای هر فرآیند فعال مشاهده کنید. همانطور که انتظار دارید، می توانید بر اساس این آمار نیز مرتب کنید. هر فرآیند خارج از کنترل را می توان از بالا از بین برد.
تبلیغات
اما اگر فکر می کنید تاپ مدیر وظیفه متوسط شماست، دوباره فکر کنید. میتوانید بر اساس هر معیار موجود، از جمله زمان اجرا و «خوبی» (در اصل اولویت پردازش) مرتبسازی کنید. اوه بله، اولویت فرآیند وجود دارد. همچنین می توانید انتخاب کنید که فرآیندها به صورت درختی نمایش داده شوند، که نشان می دهد کدام فرآیندها باعث ایجاد فرآیندهای دیگر شده اند. بهتر از همه، می توانید هر دنباله متنی را جستجو کنید، ویژگی که در بسیاری از مدیران وظایف سیستم عامل های رقیب به شدت فاقد آن است.
نمای کلی Open Files
اگر مشکوک هستید که مشکل مصرف CPU یا حافظه نیست، بلکه ورودی/خروجی غیرعادی دیسک است، lsof را بردارید. این ابزاری است که هم دوستش دارم و هم از آن به اندازه کافی استفاده نمی کنم. این دستور CLI تمام فایل هایی را که در حال حاضر باز هستند فهرست می کند. به عبارت دیگر، به کاربران این امکان را میدهد که تمام فایلهایی را که از آنها خوانده یا نوشته شدهاند، بررسی کنند.
دستور lsof دارای گزینههای قدرتمندی است که برای محدود کردن انواع فایلهای خروجی، بسیار زیاد است. یکی از موارد مورد علاقه من پرچم “-u” برای فیلتر کردن یا حذف فایل ها توسط کاربری است که به آنها دسترسی دارد. اگر مجموعه ای از فرآیندهای سایه دار (شاید از بالا) دارید، می توانید از پرچم “-p” استفاده کنید تا فقط آن فرآیندها را (بر اساس PID) جستجو کنید تا فایل هایی را که روی آنها کار می کند مشاهده کنید.
راه مورد علاقه من برای ساختن کار کوتاه خروجی lsof این است که آن را به grep وارد کنم و ببینم چه چیزی می توانم پیدا کنم. به این ترتیب، میتوانم هر الگوی موجود را جستجو کنم، خواه کاربر، مسیر یا هر چیز دیگری که فکرش را بکنم.
اشکالی ندارد اگر رمزگشایی کنم
به دنبال نمای چشم پرنده از تمام سخت افزارهای سیستم خود هستید؟ بیشتر از dmidecode نگاه نکنید.
اجرای dmidecode در پوسته با امتیازات superuser، خلاصهای از سختافزار سیستم شما را چاپ میکند و ساخت، مدل و حالتهای تجهیزاتی را که سیستم عامل شما در بالای آن قرار دارد، فهرست میکند. این امر به ویژه در صورتی مفید است که از رنگ لینوکس DIY بیشتری استفاده میکنید، یا سعی میکنید سختافزار غیرمعمول را کاربردی کنید.
به عنوان مثال، اگر نیاز به نصب یک ماژول هسته غیراستاندارد دارید، اجرای dmidecode به شما اطلاع میدهد که سیستم چه دستگاهی را شناسایی میکند و بنابراین چه ماژولی را باید اضافه کنید.
لینوکس یک مقصد نیست، یک فرآیند است
اگر همه چیز واقعاً شروع به پرمو شدن کرد، می توانید شروع به کندوکاو در عملکرد سطح پایین سیستم خود کنید.
اولین دایرکتوری proc در دیو دیو ما است. برخلاف دایرکتوریهای معمولی که با محتویات ثابت بین بوتها باقی میمانند، /proc به صورت پویا با اطلاعات خوانده شده از هسته و سختافزار در بوت پر میشود، به طور مداوم در حین کار به روز میشود، و در صورت خاموش شدن از بین میرود. از آنجایی که همه چیز در اینجا به عنوان یک فایل تلقی می شود، تنها کاری که کاربران باید انجام دهند این است که فایل ها را بخوانند تا ببینند چه چیزی برای آنها نوشته شده است.
مطمئناً میتوانم تحمل کنم تا با آنچه در اینجا هست بیشتر آشنا شوم، اما برخی گشتوگذارها به یافتههای جالبی منجر شد. برای مثال، میتوانید گزینههای نصب را برای همه دیسکهای فیزیکی خود ببینید. همچنین میتوانید برای عملیاتهای هسته شکست خورده مانند hangs و panics شمارش کنید. حتی میتوانید تمام درایورهای سختافزاری که در هنگام بوت بارگذاری شدهاند را مطالعه کنید.
برای ارائه مثال ملموستر، میتوانم ببینم که /proc/scsi/device_info را حذف میکنم تا بررسی کنم چرا یک رابط SCSI درج شده شناسایی نشده است. ممکن است مجبور باشید با /proc کمی خلاق باشید، اما اگر این کار را انجام دهید ناامید نخواهد شد.
دریافت «dmesg»
وقتی صحبت از هسته شد، میتوانید با اجرای dmesg با اقتدار سوپرکاربر دقیقاً متوجه شوید که چه کاری انجام داده است. این خروجی ورود هسته به کنسول شما به ترتیب زمانی از بوت می شود. اگر کرنل سعی کند با سخت افزاری کار کند و کوتاه بیاید، پیشرفت رد شده خود را در اینجا ثبت می کند.
در حالی که احتمالاً نیازی نیست اغلب به dmesg متوسل شوید، اما این فرمانی است که هر کاربر لینوکس باید بداند صرفاً به این دلیل که چقدر سریع به شما امکان می دهد تا به مشکلات سخت افزاری برسید. این دستوری است که اهالی تالار گفتمان از شما انتظار دارند اجرا کنید تا بتوانند آنچه را که نیاز دارند دریافت کنند تا بدانند شما را به کدام سمت هدایت کنند.
لینوکس با انواع ابزارهای تشخیصی عالی سیستم بارگذاری شده است، اما هنگامی که مشکلی در سیستم شما پیش میآید، احتمالاً با موارد بالا این کار را نخواهید کرد.