Преглед садржаја
Кључне Такеаваис
- До цурења меморије долази када апликација не успе да врати додељену меморију, постепено троши више меморије и потенцијално узрокује пад система.
- Цурење меморије можете открити праћењем употребе РАМ-а вашег система и идентификовањем било које апликације или процеса који стално троше више меморије.
- Један од најбољих начина да поправите и заштитите од грешака у вези са цурењем меморије јесте да ажурирате оперативни систем и апликације и програме које користите.
Без обзира колико је ваш рачунар брз, сјајан или ажуран, проблеми попут цурења меморије и даље могу утицати на вас.
Али шта је тачно меморијска веза и како се то дешава?
Шта је цурење меморије?
Меморија рачунара, позната као меморија са случајним приступом (РАМ), привремено складишти информације које се односе на оперативни систем, програме и услуге које раде на вашем рачунару. РАМ се користи јер је брз — бржи чак и од ССД-а — и користан је за складиштење података којима се често приступа.
Апликације користе меморију по потреби, чувајући информације које се односе на операције, вашу следећу радњу, често тражене податке итд. Када апликација престане да користи додељену меморију, то треба да сигнализира да је меморија сада слободна. Међутим, ако програм настави да ради без враћања додељене меморије, постепено ће трошити све више и више доступне меморије, и даље без враћања било чега од тога, што ће на крају довести до пада система.
Како открити цурење меморије
Када систем доживи недостатак меморије, највероватније ћете добити поруку упозорења на екрану која гласи: „Ваш рачунар нема довољно меморије“. То је слична порука у свим главним оперативним системима, и када је видите, вероватно ћете приметити да се ваше перформансе погоршавају и систем почиње да не ради.
Најлакши начин да проверите да ли постоји цурење меморије јесте да погледате коришћење РАМ меморије вашег система. Ако видите да апликација или процес стално троше све више меморије, то је сигуран знак да постоји проблем, што би могло бити цурење меморије. На пример, на слици испод, Гоогле Цхроме користи велику количину меморије, али имам отворених пет Цхроме прозора са око 20 отворених картица и инсталираних 32 ГБ РАМ-а. Дакле, иако је цифра висока, то заправо није проблем. Сада, ако погледам листу процеса и пронађем Спотифи који користи сличну количину РАМ-а, то би указивало на проблем и потенцијално проблем са цурењем меморије.
Како проверити употребу РАМ-а у оперативном систему Виндовс
Да бисте затворили процес, кликните десним тастером миша на њега и изаберите Заврши задатак.
Како проверити употребу РАМ-а на мацОС-у
мацОС вам тада даје две опције: Куит или Форце Куит. Овај други ће одмах покушати да прекине процес и уклони све несачуване податке.
Како проверити употребу РАМ-а на Линуку користећи системски монитор
Пошто постоје различите верзије Системског монитора за свако Линук десктоп окружење, кораци које следите могу се разликовати. Генерално, ви ћете унети системски монитор у почетни мени, еквивалент менија старт, или алатку за претрагу система и изабрати најбоље подударање.
Када се системски монитор отвори, сортирајте картицу или колону Меморија тако да највеће вредности буду на врху и одредите да ли неке апликације или процеси користе прекомерну меморију. Постоје и Линук команде за проверу здравља система, које могу показати употребу РАМ-а.
Последице цурења меморије
Последице и проблеми цурења меморије зависе од употребе клијентских или серверских апликација.
Клијентске апликације (стони рачунари и мобилни телефони)
За њих, последице цурења меморије нису веома озбиљне, пошто се додељена меморија ослобађа када се апликација прекине. Дакле, нема нестабилности система. Неки проблеми на које наилази прекомерна употреба меморије могу бити:
- Ваш систем може почети да успорава.
- Апликације на рачунару могу се нагло затворити.
- Апликацијски код рачунара који додељује меморију може да се сруши и изазове грешке.
Међутим, у озбиљнијим случајевима, цурење меморије може створити прилику за нападе убризгавањем кода, што може довести до губитка података и других сигурносних проблема.
Серверске апликације
Проблем са цурењем меморије се у овом случају погоршава, пошто сервери обично раде дуго времена без поновног покретања. Проблеми су овде исти као и у случају десктоп апликација. Меморија се троши данима, недељама и месецима, а перформансе сервера опадају. Почињу да се појављују грешке, што доводи до тога да сервер на крају престане да ради.
Слично клијентским апликацијама, дуготрајно цурење меморије могло би да створи прилику за нападаче да искористе напад убризгавањем кода, компромитујући податке.
Како спречити цурење меморије
Када је у питању кодирање, већина програмских језика има функције које помажу програмерима у аутоматском управљању меморијом, као што је сакупљач смећа, који помаже да се ослободи меморија која није у употреби. Постоје различите врсте сакупљача смећа, а разумевање начина на који сакупљач смећа ваше апликације функционише је важан корак у спречавању цурења меморије.
Други метод за спречавање цурења меморије је писање кода који одлаже непотребне ресурсе. Морате написати одређени код који указује на то да је рад ресурса завршен и да нема даљег коришћења меморије. Уверите се да се петље извршавају у потпуности да бисте избегли појаву цурења меморије.
Међутим, ако не кодирате и само имате цурење меморије на кућном рачунару, поновно покретање система ће поправити цурење меморије и потенцијално спречити да се поново појави ако је привремена грешка. Такође би требало да ажурирате оперативни систем који користите, било да је то Виндовс, мацОС или Линук. Цурење меморије изазвано неисправним кодом или неком другом грешком вероватно ће бити отклоњено ажурирањем, било да се ради о оперативном систему или програму у питању. Увек је важно да своју машину одржавате ажурном!
Раније смо детаљно описали како да уочимо и поправимо цурење меморије за Виндовс, мацОС и Линук. Међутим, постоје неке додатне методе помоћу којих можете покушати да поправите цурење меморије у оперативном систему Виндовс.
Виндовс Ресоурце Монитор
Виндовс Ресоурце Монитор вам такође може помоћи да разумете проблем са цурењем меморије пружањем података у реалном времену за ваше системске ресурсе.
НАР од Гавина
Као и раније, мораћете да откријете да ли нека од ваших апликација користи превише меморије.
Како онемогућити програме који се покрећу при покретању
Понекад програм који се покреће при покретању може да изазове цурење меморије. Да бисте решили овај проблем, онемогућите апликацију да бисте били сигурни да више не изазива проблеме када покренете систем.
Имајте на уму да иако ће ово зауставити све проблеме са цурењем меморије у вези са покретањем, проблем са цурењем меморије може и даље постојати ако касније отворите програм. Ако је то случај, предлажемо да деинсталирате програм.
Смањите цурење меморије и помозите свом рачунару да ради боље
Цурење меморије може бити фрустрирајуће и значајно ће успорити ваш рачунар, што ће на крају довести до његовог квара. Могу се кретати од фрустрирајућих до опасних и довести до озбиљних проблема са стабилношћу система.
Запамтите да је једна од најбољих опција за решавање проблема са цурењем меморије ажурирање система и апликација које користите, јер цурење меморије може произаћи из неке врсте грешке.