چند هفته پیش، برای نوشتن یک مقاله حسابی درگیر تحقیق بودم و چیزی حدود ۲۰ تب را در دو پنجره باز کرده بودم. بعد از مدتی، جابهجا شدن بین تبها با تأخیری حدود نیمثانیه انجام میشد. واکنش همیشگی من در چنین شرایطی این است که Task Manager ویندوز را باز کنم و به ردیف گوگل کروم که معمولاً بالای فهرست قرار دارد خیره شوم.
مشکل اینجاست که ویندوز کروم را به شکل مجموعهای از پردازشهای تقریباً مشابه نمایش میدهد؛ پردازشهایی که نامشان اطلاعات چندانی درباره عامل مصرف منابع ارائه نمیکند. میدیدم کروم مقدار زیادی حافظه مصرف میکند، اما نمیدانستم دقیقاً کدام بخش مسئول این مصرف است. بنابراین چند تب را بهصورت تصادفی بستم و امیدوار بودم مشکل برطرف شود.
این بازی حدس و گمان زمانی تمام شد که فهمیدم کروم Task Manager داخلی خودش را دارد؛ ابزاری که پردازشها را با نام واقعی تبها و افزونهها نمایش میدهد و مشخص میکند هرکدام چه مقدار حافظه مصرف میکنند. با سادهگو همراه باشید تا با تاسک منیجر داخلی که در مرورگر گوگل کروم موجود است، بیشتر آشنا شویم.
کروم دقیقاً میداند با RAM شما چه میکند
فقط خودش داوطلبانه این اطلاعات را نشان نمیدهد
وقتی کروم در حالت فعال قرار دارد، کلیدهای Shift + Esc را فشار دهید تا پنجره کوچکی باز شود که تبها، افزونهها و پردازشهای داخلی در حال اجرای مرورگر را نمایش میدهد. اگر این میانبر روی سیستم شما توسط برنامه دیگری استفاده میشود، میتوانید از منوی سهنقطه به آن دسترسی پیدا کنید.
گوگل نیز Task Manager داخلی کروم را دقیقاً برای شناسایی تبها و پردازشهایی که منابع زیادی مصرف میکنند ارائه کرده است.
پس دفعه بعد که احساس کردید کروم بیدلیل مقدار زیادی رم مصرف میکند، لازم نیست فوراً همه تبها را ببندید. ابتدا Task Manager داخلی کروم را باز کنید؛ ممکن است تنها یک تب یا افزونه مقصر باشد.
به مسیر زیر بروید:
More tools > Task Manager
در مکاواس، این گزینه در منوی Window قرار دارد، زیرا میانبر Shift + Esc در این سیستمعامل به همین شکل استفاده نمیشود. راهنمای رسمی گوگل نیز Shift + Esc را به عنوان میانبر باز کردن Task Manager کروم معرفی میکند.
تفاوت اصلی با Task Manager ویندوز، نحوه نامگذاری پردازشهاست. به جای اینکه با تعداد زیادی ردیف با نام «Google Chrome» مواجه شوید، Task Manager داخلی کروم عنوان واقعی هر تب و نام واقعی هر افزونه را نمایش میدهد و میزان مصرف حافظه را نیز کنار آن قرار میدهد.
کافی است ستون Memory footprint را مرتب کنید تا در چند ثانیه پرمصرفترین موارد را ببینید. راهنمای رسمی گوگل نیز توصیه میکند در صورت مواجهه با مصرف بالای منابع، Task Manager کروم را باز کرده و فهرست را بر اساس Memory مرتب کنید.
این تفاوت بسیار مهم است؛ زیرا به جای اینکه فقط بدانید کروم مثلاً چند گیگابایت RAM مصرف میکند، میتوانید ببینید کدام تب، افزونه یا پردازش داخلی بیشترین سهم را دارد.
افزونهها معمولاً عامل غافلگیرکننده هستند
حتی وقتی از آنها استفاده نمیکنید، فعال میمانند
بیشتر کاربران تصور میکنند تبهای باز مقصر اصلی مصرف RAM هستند و البته تعداد زیاد تبها واقعاً میتواند مصرف حافظه را افزایش دهد. اما چیزی که برای من جالب بود، بخش مربوط به افزونههای کروم بود.
یک نرمافزار مدیریت گذرواژه، افزونه بررسی گرامر و یک مسدودکننده تبلیغات در فهرست قرار داشتند و مجموع مصرف حافظه آنها از ۱۰ صفحهای که واقعاً باز کرده بودم بیشتر بود.
دلیلش این است که افزونهها لزوماً فقط زمانی که روی آیکونشان کلیک میکنید فعال نیستند. برخی افزونهها در طول جلسه مرورگر در پسزمینه فعالیت دارند و بعضی از آنها اسکریپتهایی را روی صفحات مختلف اجرا میکنند. در نتیجه، با افزایش تعداد تبها ممکن است هزینه پردازشی آنها نیز بیشتر شود، حتی اگر در Task Manager فقط یک ردیف مربوط به همان افزونه ببینید.
بنابراین اگر افزونهای که تقریباً هیچوقت از آن استفاده نمیکنید، هنگام مرتبسازی فهرست بر اساس حافظه در بالای جدول قرار گرفت، میتواند گزینه مناسبی برای حذف باشد. گوگل نیز در راهنمای عیبیابی کروم، غیرفعال کردن یا حذف افزونههای غیرضروری را یکی از راههای کاهش مصرف منابع معرفی میکند.
چند ستون مخفی ارزش اضافه کردن دارند
با کلیک راست روی عنوان ستونها آنها را فعال کنید
در حالت پیشفرض، Task Manager کروم اطلاعاتی مانند حافظه، CPU، شبکه و شناسه پردازش را نمایش میدهد. اما اگر روی عنوان ستونها کلیک راست کنید، فهرست طولانیتری از گزینهها ظاهر میشود.
دو مورد از این گزینههای اضافه ارزش بیشتری دارند:
- JavaScript memory نشان میدهد یک صفحه چه مقدار حافظه را در Heap مربوط به جاوااسکریپت خود نگه داشته است. این بخش میتواند در پیدا کردن وباپلیکیشنهایی که رفتار مناسبی ندارند، مفید باشد.
- Idle wake ups نیز روی لپتاپ اهمیت بیشتری پیدا میکند. پردازشی که دائماً در پسزمینه بیدار میشود، حتی اگر مصرف حافظه چشمگیری نداشته باشد، میتواند روی مصرف باتری تأثیر بگذارد.
لازم نیست هر بار این ستونها را دوباره فعال کنید. پس از انتخاب، کروم تنظیمات مربوط به ستونهای Task Manager را به خاطر میسپارد.
میتوانید فقط یک پردازش را ببندید و بقیه را نگه دارید
لازم نیست کل مرورگر را ببندید
یکی از کاربردیترین قابلیتهای Task Manager کروم این است که برای پایان دادن به یک پردازش، نیازی به بستن کل مرورگر ندارید.
یک ردیف را انتخاب کنید و روی End process کلیک کنید. کروم فقط همان تب، افزونه یا پردازش انتخابشده را متوقف میکند و سایر بخشهای مرورگر همچنان به کار خود ادامه میدهند. راهنمای رسمی گوگل نیز همین روش را برای متوقف کردن یک پردازش پرمصرف پیشنهاد میکند.
اگر یک تب از کار افتاده باشد، معمولاً خود تب از نوار تبها حذف نمیشود و صفحه خطا نمایش داده خواهد شد. با کلیک روی Reload میتوانید دوباره آن را بارگذاری کنید.
این قابلیت زمانی بسیار کاربردی است که یک صفحه قفل شده باشد. به جای اینکه کل مرورگر را مجبور به بسته شدن کنید و جلسه کاری خود را از دست بدهید، میتوانید فقط همان تب مشکلدار را متوقف کنید و به کارتان ادامه دهید.
برای آزمایش افزونهها نیز روش خوبی است. اگر به یک افزونه مشکوک هستید، پایان دادن به پردازش آن میتواند سریعتر از غیرفعال کردن افزونه و راهاندازی مجدد مرورگر باشد.
Task Manager کروم چه محدودیتهایی دارد؟
اعداد دائماً تغییر میکنند و با ویندوز یکسان نیستند
اعدادی که در Task Manager کروم میبینید ثابت نیستند. میزان مصرف حافظه با بارگذاری بخشهای مختلف صفحه، اجرای Garbage Collection و تغییر وضعیت پردازشها تغییر میکند. بنابراین ممکن است یک تب را اکنون با یک مقدار حافظه ببینید و ۳۰ ثانیه بعد عدد دیگری نمایش داده شود.
به همین دلیل، این ابزار برای پیدا کردن موارد غیرعادی بسیار مناسب است، اما نباید از آن انتظار اندازهگیری کاملاً دقیق و ثابت داشته باشید.
همچنین مجموع اعداد Task Manager کروم لزوماً با مقداری که Task Manager ویندوز برای Chrome نشان میدهد یکسان نخواهد بود. دلیلش این است که این دو ابزار نحوه محاسبه و نسبت دادن حافظه مشترک بین پردازشها را دقیقاً به یک شکل انجام نمیدهند.
این موضوع با معماری چندپردازشی کروم نیز ارتباط دارد. Chromium از چندین پردازش برای بخشهای مختلف مرورگر استفاده میکند و تبها و افزونهها نیز میتوانند پردازشهای جداگانهای داشته باشند.
یک محدودیت دیگر نیز وجود دارد: Task Manager به شما میگوید چه چیزی حافظه مصرف میکند، اما لزوماً توضیح نمیدهد چرا.
به عنوان مثال، اگر یک تب یوتیوب در بالای فهرست قرار داشته باشد، مصرف نسبتاً بالای حافظه آن میتواند کاملاً طبیعی باشد؛ بالاخره یک ویدیوی آنلاین در حال پخش است. یک فایل بزرگ Google Sheets نیز ممکن است به دلیل ماهیت پیچیده خود مقدار زیادی حافظه مصرف کند.
اما اگر یک مقاله خبری را دو ساعت قبل باز کردهاید و از آن زمان دیگر به آن نگاه نکردهاید و مصرف حافظه آن همچنان افزایش پیدا میکند، وضعیت متفاوت است. اگر مقدار حافظه یک تب مشکوک در طول چند دقیقه مرتباً بیشتر شود، میتواند نشانهای از یک مشکل یا نشت حافظه باشد.
کروم خودش تفاوت بین این دو وضعیت را برای شما مشخص نمیکند. بنابراین گاهی بهترین راه این است که تب مشکوک را چند دقیقه زیر نظر بگیرید و ببینید مصرف منابع آن چه روندی دارد.
قبل از اینکه رم را مقصر بدانید، Task Manager کروم را بررسی کنید
من هنوز هم تبهای زیادی باز میکنم، اما دیگر آنها را بهصورت تصادفی نمیبندم. چند بار مشخص شده که عامل اصلی، یک افزونه بوده که برای انجام کاری خاص نصب کرده بودم و بعد فراموش کرده بودم همچنان روی مرورگرم فعال است.
حذف همان افزونه در بعضی موارد تأثیر بیشتری از بستن تعداد زیادی از تبها داشت.
مهمتر اینکه بررسی آن فقط چند ثانیه زمان میبرد: Shift + Esc را فشار دهید، فهرست را بر اساس Memory مرتب کنید و ببینید چه چیزی در صدر قرار گرفته است. اگر مشکل مصرف RAM یا کندی کروم دارید، این یکی از سادهترین راهها برای پیدا کردن عامل واقعی مشکل است.
گوگل نیز Task Manager داخلی کروم را دقیقاً برای شناسایی تبها و پردازشهایی که منابع زیادی مصرف میکنند ارائه کرده است.
پس دفعه بعد که احساس کردید کروم بیدلیل مقدار زیادی RAM مصرف میکند، لازم نیست فوراً همه تبها را ببندید. ابتدا Task Manager داخلی کروم را باز کنید؛ ممکن است تنها یک تب یا افزونه مقصر باشد.
سادهگو



