لیست مطالب
پر شدن ناگهانی و صد در صدی پردازنده (CPU) در حالی که ترافیک ورودی به وب سایت یا سرور شما تغییر خاصی نکرده است، یکی از چالش های رایج و نگران کننده برای مدیران سیستم و برنامه نویسان است. این اتفاق معمولا نشان دهنده وجود یک مشکل داخلی در لایه نرم افزار، سیستم عامل و یا حتی نفوذ های امنیتی است. در ادامه به بررسی دلایل فنی این موضوع می پردازیم.
۱. اجرای پردازش های پس زمینه (Background Jobs)
بسیاری از سیستم های مدیریت محتوا مانند وردپرس یا فریم ورک های برنامه نویسی، وظایفی را برای اجرا در ساعات خاصی زمان بندی می کنند. این پردازش ها شامل تهیه نسخه پشتیبان، بروزرسانی خودکار افزونه ها، ارسال ایمیل های گروهی و یا بهینه سازی پایگاه داده است. اگر این وظایف سنگین باشند و به درستی مدیریت نشوند، می توانند تمام قدرت پردازنده سرور مجازی یا اختصاصی شما را مصرف کنند، حتی اگر هیچ کاربری در آن لحظه روی سایت نباشد.
۲. نشت حافظه (Memory Leak) و تاثیر آن بر CPU
زمانی که یک برنامه بخشی از حافظه RAM را اشغال می کند اما پس از اتمام کار آن را آزاد نمی کند، نشت حافظه رخ می دهد. با پر شدن رم، سیستم عامل مجبور می شود از حافظه مجازی (Swap) استفاده کند. جابجایی مداوم داده ها بین رم و هارد دیسک توسط پردازنده مدیریت می شود که این کار فشار بسیار شدیدی به CPU وارد کرده و باعث می شود درصد استفاده از آن به ۱۰۰ برسد.
۳. حملات مخفیانه استخراج ارز دیجیتال (Cryptojacking)
یکی از دلایل اصلی پر شدن CPU بدون وجود ترافیک، آلوده شدن سرور به بدافزار های استخراج ارز دیجیتال است. هکر ها با نفوذ به سرور (مثلا از طریق رمز عبور ضعیف root)، اسکریپت هایی را نصب می کنند که از تمام قدرت سخت افزاری شما برای استخراج بیت کوین یا سایر ارز ها استفاده می کند. در این حالت، ترافیک وب سایت شما عادی است اما پردازنده درگیر محاسبات سنگین هکرها است.
۴. حلقه های بی نهایت (Infinite Loops) در کد نویسی

اشکالات منطقی در کدهای برنامه نویسی می تواند باعث ایجاد حلقه های بی نهایت شود. برای مثال، تابعی که قرار است تا زمان رسیدن به یک شرط خاص اجرا شود، اما به دلیل یک خطا هرگز به آن شرط نمی رسد. یک حلقه بی نهایت ساده می تواند در کمتر از چند ثانیه یک هسته از پردازنده را به طور کامل اشغال کند.
۵. ایندکس گذاری و اسکن های سیستم
برخی پردازش های سیستم عامل مانند ایندکس کردن فایل ها توسط دیتابیس یا اسکن های آنتی ویروس برای شناسایی فایل های مخرب، منابع زیادی مصرف می کنند. اگر تنظیمات این ابزار ها روی حالت بسیار دقیق (Intensive) باشد، به محض شروع فعالیت، CPU را درگیر می کنند.
۶. پردازش های معلق (Zombie Processes)
گاهی اوقات یک برنامه بسته می شود اما پردازش های وابسته به آن در حافظه باقی می مانند و به وضعیت "زامبی" در می آیند. انباشته شدن این پردازش ها که همچنان سعی در برقراری ارتباط با هسته سیستم عامل دارند، منجر به اتلاف منابع پردازشی می شود.
نتیجه گیری
برای حل این مشکل، ابتدا با دستوراتی مانند top یا htop در لینوکس و Task Manager در ویندوز، پردازش های مصرف کننده را شناسایی کنید. اگر از سرویس های صفرویک استفاده می کنید، تیم پشتیبانی ما آماده است تا در تحلیل این لاگ ها به شما کمک کند.
صفر و یک در کنار شما!
آیا سرور شما همواره با کندی و پر شدن منابع روبرو است؟ با خرید سرور اختصاصی یا سرور مجازی صفرویک، از سخت افزار های قدرتمند نسل جدید و مانیتورینگ حرفه ای بهره مند شوید. همین حالا با کارشناسان صفرویک تماس بگیرید تا با بررسی دقیق زیرساخت شما، بهترین راه کار را برای پایداری ۱۰۰ درصدی کسب و کارتان ارائه دهیم.








