چند هفته پیش، مشغول تحقیق عمیق برای مقالهای بودم؛ حدود بیست زبانه در دو پنجره باز بود که جابهجایی میان آنها با نیمثانیه تأخیر همراه شد. واکنش همیشگیام این است که مدیر وظایف ویندوز را باز کنم و به ورودی کروم که بالای فهرست قرار گرفته خیره شوم. مشکل این است که ویندوز کروم را به شکل مجموعهای از پردازشهای تقریباً یکسان با نامهایی نمایش میدهد که هیچ اطلاعاتی به شما نمیدهند. میدیدم کروم حافظه زیادی مصرف میکند، اما نمیدیدم کدام بخش آن مسئول است؛ بنابراین چند زبانه را تصادفی میبستم و امیدوار بودم مشکل حل شود. این حدسزدنها زمانی پایان یافت که فهمیدم کروم مدیر وظایف اختصاصی خود را دارد و همهچیز را با برچسب درست نمایش میدهد.
کروم دقیقاً میداند رم شما کجا مصرف میشود
فقط خودش هرگز این اطلاعات را پیش رویتان نمیگذارد

وقتی کروم در کانون توجه است، Shift + Esc را بزنید تا پنجره کوچکی باز شود که هر زبانه، افزونه و پردازش داخلیِ در حال اجرای مرورگر را فهرست میکند. اگر این میانبر در سیستم شما به کار دیگری اختصاص یافته است، میتوانید از منوی سهنقطهای و بخش More Tools به آن دسترسی پیدا کنید. در مک، این گزینه در منوی Window قرار دارد؛ زیرا میانبر Shift + Esc در آنجا تعریف نشده است.
تفاوت آن با مدیر وظایف ویندوز در شیوه نامگذاری است. بهجای دوازده ورودی که همگی «Google Chrome» نام دارند، عنوان واقعی صفحه هر زبانه و نام واقعی هر افزونه را همراه با میزان مصرف حافظه آنها میبینید. مرتبسازی بر اساس ستون memory footprint فقط یک ثانیه زمان میبرد و بلافاصله چند مقصر اصلی را آشکار میکند.
افزونهها معمولاً غافلگیرکنندهاند
چه از آنها استفاده کنید و چه نکنید، اجرا میشوند

بیشتر افراد تصور میکنند زبانهها مشکلسازند؛ البته زبانهها هم واقعاً روی هم جمع میشوند. اما چیزی که مرا غافلگیر کرد، بخش افزونههای کروم بود. یک مدیر رمز عبور، یک بررسیگر دستور زبان و یک مسدودکننده تبلیغات آنجا فعال بودند و مجموع مصرفشان از ده صفحهای که واقعاً باز کرده بودم بیشتر بود.
دلیلش این است که افزونهها در تمام مدت نشست مرورگر اجرا میشوند، نه فقط زمانی که روی آنها کلیک میکنید. برخی از آنها در هر صفحهای که بازدید میکنید اسکریپت تزریق میکنند؛ بنابراین هزینهشان با افزایش تعداد زبانهها بالا میرود، حتی اگر تنها بهصورت یک ردیف نمایش داده شوند. اگر افزونهای که بهندرت از آن استفاده میکنید پس از مرتبسازی در میان موارد پرمصرف قرار گرفت، حذف آن انتخاب معقولی است.
چند ستون پنهان ارزش افزودن دارند
روی سرستونها راستکلیک کنید تا فعال شوند

نمای پیشفرض، میزان مصرف حافظه، CPU، شبکه و شناسه پردازش (process ID) را نشان میدهد. روی هر بخش از سرستونها راستکلیک کنید تا فهرست بلندتری ظاهر شود؛ دو مورد از گزینههای اضافی واقعاً ارزش فعالکردن دارند.
گزینه JavaScript memory نشان میدهد یک صفحه چه میزان داده در heap خود نگه داشته است؛ جایی که یک وباپلیکیشن بدرفتار معمولاً رد خود را آشکار میکند. گزینه Idle wake-ups نیز در لپتاپ مفید است، زیرا پردازشی که پیوسته در پسزمینه بیدار میشود، حتی اگر مصرف حافظهاش عادی به نظر برسد، باتری را خالی میکند. کافی است این گزینهها را یکبار تنظیم کنید، چون کروم ستونهای فعالشده را به خاطر میسپارد.
میتوانید یک پردازش را بدون از دست دادن بقیه ببندید
نیازی به بستن کل مرورگر نیست

یک ردیف را در فهرست انتخاب کنید، روی End process کلیک کنید و کروم فقط همان زبانه یا افزونه را میبندد؛ سایر موارد دستنخورده میمانند. زبانه در نوار زبانهها باقی میماند و صفحه خطا نمایش میدهد؛ با کلیک روی reload دوباره بارگذاری میشود.
این کار وقتی صفحهای قفل میکند، مفیدتر از آن چیزی است که به نظر میرسد. بهجای بستن اجباری کل مرورگر و از دست دادن نشست خود، میتوانید فقط همان زبانه یخزده را ببندید و ادامه دهید. این روش برای آزمایش سریع هم کاربرد دارد؛ اگر میخواهید تأیید کنید مشکل از یک افزونه است، پایان دادن به پردازش آن از غیرفعالسازی و راهاندازی مجدد مرورگر سریعتر است.
مدیر وظایف کجا کم میآورد
اعداد پیوسته تغییر میکنند و با ویندوز یکسان نخواهند بود

ارقام اینجا ثابت نیستند. با رندرشدن صفحات، مصرف حافظه تغییر میکند؛ garbage collection فعال میشود و ممکن است همان زبانه سی ثانیه بعد عدد متفاوتی نشان دهد. این ابزار برای شناسایی موارد پرت مفید است، اما برای اندازهگیری دقیق مناسب نیست. مجموع ارقام نیز با آنچه ویندوز برای کروم گزارش میکند یکسان نخواهد بود، زیرا این دو حافظه مشترک را به شیوههای متفاوتی محاسبه میکنند.
محدودیت دیگری هم هست که باید بدانید. مدیر وظایف نشان میدهد چه چیزی حافظه مصرف میکند، نه علت مصرف آن را. زبانه YouTube که در بالای فهرست قرار دارد، احتمالاً همان کاری را انجام میدهد که از یک پخشکننده ویدیو انتظار میرود؛ یک فایل بزرگ Google Sheet نیز به همان دلیل، صادقانه مصرف بالایی خواهد داشت.
اما مقاله خبریای که دو ساعت پیش باز کردهاید و هرگز نبستهاید، چنین توجیهی ندارد. اگر شمارنده مصرف آن در حالی بالا میرود که حتی به آن نگاه هم نمیکنید، احتمالاً با نشتی حافظه روبهرو هستید، نه فعالیتی مشروع. Chrome این تفاوت را برایتان مشخص نمیکند؛ بنابراین تنها راه واقعی برای تشخیص، زیر نظر گرفتن یک زبانه مشکوک برای چند دقیقه است.
پیش از مقصر دانستن رم، آن را بررسی کنید
هنوز هم زبانههای زیادی باز میکنم، اما دیگر آنها را کورکورانه نمیبندم. تا امروز، دو یا سه بار پاسخ مشکل یک افزونه بوده که برای کاری نصب کرده و فراموشش کرده بودم؛ حذف آن بیش از بستن نیمی از زبانههای مرورگرم کمک کرد. تنها به یک میانبر صفحهکلید و حدود ده ثانیه زمان برای مرتبسازی نیاز دارید؛ بهایی معقول برای دانستن اینکه واقعاً در مرورگری که هر روز باز میگذارید چه میگذرد.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Robin John است. مشاهده مقاله اصلی