how do i find a memory leak in Linux? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Come Celebrate our 10 Year Anniversary!Finding Memory Leak on LinuxMemory leak issue in Centos5Apache+PHP. Memory leak. StrangeDocker memory leak?What's the technique to find out bottleneck?Underused Apache server raise MaxRequestWorkers reached: memory leak?Understanding CPU% on Apache Extended Server StatusHow can I move only my website, not email, to a DigitalOcean droplet?Large CPU spike for proc (www-data)Proxy NDP, intermittent Address Unreach

Weaponising the Grasp-at-a-Distance spell

French equivalents of おしゃれは足元から (Every good outfit starts with the shoes)

newbie Q : How to read an output file in one command line

How does TikZ render an arc?

The Nth Gryphon Number

"Destructive power" carried by a B-52?

When does a function NOT have an antiderivative?

How do you write "wild blueberries flavored"?

Why not use the yoke to control yaw, as well as pitch and roll?

What is a more techy Technical Writer job title that isn't cutesy or confusing?

How can I prevent/balance waiting and turtling as a response to cooldown mechanics

My mentor says to set image to Fine instead of RAW — how is this different from JPG?

Why does BitLocker not use RSA?

Where and when has Thucydides been studied?

Determine whether an integer is a palindrome

In musical terms, what properties are varied by the human voice to produce different words / syllables?

Was the pager message from Nick Fury to Captain Marvel unnecessary?

Does the transliteration of 'Dravidian' exist in Hindu scripture? Does 'Dravida' refer to a Geographical area or an ethnic group?

2018 MacBook Pro won't let me install macOS High Sierra 10.13 from USB installer

How to achieve cat-like agility?

Problem with display of presentation

Where did Ptolemy compare the Earth to the distance of fixed stars?

What is the proper term for etching or digging of wall to hide conduit of cables

Is there a verb for listening stealthily?



how do i find a memory leak in Linux?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Come Celebrate our 10 Year Anniversary!Finding Memory Leak on LinuxMemory leak issue in Centos5Apache+PHP. Memory leak. StrangeDocker memory leak?What's the technique to find out bottleneck?Underused Apache server raise MaxRequestWorkers reached: memory leak?Understanding CPU% on Apache Extended Server StatusHow can I move only my website, not email, to a DigitalOcean droplet?Large CPU spike for proc (www-data)Proxy NDP, intermittent Address Unreach



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








1















I have a digital ocean droplet. recently i combined it with another, and now the system will randomly (every couple days) completely max out on CPU usage (for a single user, not for the system) and it throws a bunch of "out of memory" errors. i cant use top to figure out what process is causing the problem because it happens randomly.



to try to solve the problem, i recently quadrupled the available memory and CPU power. the problem went away for about a month and now it's happening again, more often than before.



i dont know when its going to strike. and when it does, it locks up the entire system and i have to hard reboot. i checked /var/log/messages and i see a bunch of "out of memory" errors from php, mysqld, spamd, and some other stuff. how do i figure out which user is causing the problem, and more specifically, how do i figure out how to solve it?



for context, it's a regular web hosting system that has cpanel installed.










share|improve this question






















  • Setup a tool that periodically stores the memory usage of all your processes? Perhaps something as simple as a */5 cron that does something like ps aux > "/path/ps_output_$(date +%Y%m%d%H%M)". When it crashes, just look at what was happening 5 minutes before?

    – Zoredache
    Apr 15 at 19:29

















1















I have a digital ocean droplet. recently i combined it with another, and now the system will randomly (every couple days) completely max out on CPU usage (for a single user, not for the system) and it throws a bunch of "out of memory" errors. i cant use top to figure out what process is causing the problem because it happens randomly.



to try to solve the problem, i recently quadrupled the available memory and CPU power. the problem went away for about a month and now it's happening again, more often than before.



i dont know when its going to strike. and when it does, it locks up the entire system and i have to hard reboot. i checked /var/log/messages and i see a bunch of "out of memory" errors from php, mysqld, spamd, and some other stuff. how do i figure out which user is causing the problem, and more specifically, how do i figure out how to solve it?



for context, it's a regular web hosting system that has cpanel installed.










share|improve this question






















  • Setup a tool that periodically stores the memory usage of all your processes? Perhaps something as simple as a */5 cron that does something like ps aux > "/path/ps_output_$(date +%Y%m%d%H%M)". When it crashes, just look at what was happening 5 minutes before?

    – Zoredache
    Apr 15 at 19:29













1












1








1








I have a digital ocean droplet. recently i combined it with another, and now the system will randomly (every couple days) completely max out on CPU usage (for a single user, not for the system) and it throws a bunch of "out of memory" errors. i cant use top to figure out what process is causing the problem because it happens randomly.



to try to solve the problem, i recently quadrupled the available memory and CPU power. the problem went away for about a month and now it's happening again, more often than before.



i dont know when its going to strike. and when it does, it locks up the entire system and i have to hard reboot. i checked /var/log/messages and i see a bunch of "out of memory" errors from php, mysqld, spamd, and some other stuff. how do i figure out which user is causing the problem, and more specifically, how do i figure out how to solve it?



for context, it's a regular web hosting system that has cpanel installed.










share|improve this question














I have a digital ocean droplet. recently i combined it with another, and now the system will randomly (every couple days) completely max out on CPU usage (for a single user, not for the system) and it throws a bunch of "out of memory" errors. i cant use top to figure out what process is causing the problem because it happens randomly.



to try to solve the problem, i recently quadrupled the available memory and CPU power. the problem went away for about a month and now it's happening again, more often than before.



i dont know when its going to strike. and when it does, it locks up the entire system and i have to hard reboot. i checked /var/log/messages and i see a bunch of "out of memory" errors from php, mysqld, spamd, and some other stuff. how do i figure out which user is causing the problem, and more specifically, how do i figure out how to solve it?



for context, it's a regular web hosting system that has cpanel installed.







linux cpu-usage memory-leak






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 15 at 19:07









KatushaiKatushai

1177




1177












  • Setup a tool that periodically stores the memory usage of all your processes? Perhaps something as simple as a */5 cron that does something like ps aux > "/path/ps_output_$(date +%Y%m%d%H%M)". When it crashes, just look at what was happening 5 minutes before?

    – Zoredache
    Apr 15 at 19:29

















  • Setup a tool that periodically stores the memory usage of all your processes? Perhaps something as simple as a */5 cron that does something like ps aux > "/path/ps_output_$(date +%Y%m%d%H%M)". When it crashes, just look at what was happening 5 minutes before?

    – Zoredache
    Apr 15 at 19:29
















Setup a tool that periodically stores the memory usage of all your processes? Perhaps something as simple as a */5 cron that does something like ps aux > "/path/ps_output_$(date +%Y%m%d%H%M)". When it crashes, just look at what was happening 5 minutes before?

– Zoredache
Apr 15 at 19:29





Setup a tool that periodically stores the memory usage of all your processes? Perhaps something as simple as a */5 cron that does something like ps aux > "/path/ps_output_$(date +%Y%m%d%H%M)". When it crashes, just look at what was happening 5 minutes before?

– Zoredache
Apr 15 at 19:29










1 Answer
1






active

oldest

votes


















2














Read the OOM messages. It will print out memory usage details at the time and the PID that was killed. That task is not necessarily the root cause, it just looked big to the kernel at the time.



Look at /proc/meminfo and watch processes with top. You should know approximately how much memory the system is sized for. Say a 4 GB instance intends 2 GB for DB shared memory, 1 GB for web server processes, and 1 GB for OS and admin tools. Any one of these categories exceeding their estimate would cause memory pressure.



Measure memory use per service precisely with cgroup accounting. Containers do this, although you have not said you are using containers.



systemd slices also use cgroups, if that is your service manager. Set DefaultMemoryAccounting=yes and review the output of systemd-cgtop. Try cgroup aware monitoring over time with tools like netdata's cgroups plugin. Set resource limits on the unit once you know what they should be.






share|improve this answer























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "2"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f963174%2fhow-do-i-find-a-memory-leak-in-linux%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    Read the OOM messages. It will print out memory usage details at the time and the PID that was killed. That task is not necessarily the root cause, it just looked big to the kernel at the time.



    Look at /proc/meminfo and watch processes with top. You should know approximately how much memory the system is sized for. Say a 4 GB instance intends 2 GB for DB shared memory, 1 GB for web server processes, and 1 GB for OS and admin tools. Any one of these categories exceeding their estimate would cause memory pressure.



    Measure memory use per service precisely with cgroup accounting. Containers do this, although you have not said you are using containers.



    systemd slices also use cgroups, if that is your service manager. Set DefaultMemoryAccounting=yes and review the output of systemd-cgtop. Try cgroup aware monitoring over time with tools like netdata's cgroups plugin. Set resource limits on the unit once you know what they should be.






    share|improve this answer



























      2














      Read the OOM messages. It will print out memory usage details at the time and the PID that was killed. That task is not necessarily the root cause, it just looked big to the kernel at the time.



      Look at /proc/meminfo and watch processes with top. You should know approximately how much memory the system is sized for. Say a 4 GB instance intends 2 GB for DB shared memory, 1 GB for web server processes, and 1 GB for OS and admin tools. Any one of these categories exceeding their estimate would cause memory pressure.



      Measure memory use per service precisely with cgroup accounting. Containers do this, although you have not said you are using containers.



      systemd slices also use cgroups, if that is your service manager. Set DefaultMemoryAccounting=yes and review the output of systemd-cgtop. Try cgroup aware monitoring over time with tools like netdata's cgroups plugin. Set resource limits on the unit once you know what they should be.






      share|improve this answer

























        2












        2








        2







        Read the OOM messages. It will print out memory usage details at the time and the PID that was killed. That task is not necessarily the root cause, it just looked big to the kernel at the time.



        Look at /proc/meminfo and watch processes with top. You should know approximately how much memory the system is sized for. Say a 4 GB instance intends 2 GB for DB shared memory, 1 GB for web server processes, and 1 GB for OS and admin tools. Any one of these categories exceeding their estimate would cause memory pressure.



        Measure memory use per service precisely with cgroup accounting. Containers do this, although you have not said you are using containers.



        systemd slices also use cgroups, if that is your service manager. Set DefaultMemoryAccounting=yes and review the output of systemd-cgtop. Try cgroup aware monitoring over time with tools like netdata's cgroups plugin. Set resource limits on the unit once you know what they should be.






        share|improve this answer













        Read the OOM messages. It will print out memory usage details at the time and the PID that was killed. That task is not necessarily the root cause, it just looked big to the kernel at the time.



        Look at /proc/meminfo and watch processes with top. You should know approximately how much memory the system is sized for. Say a 4 GB instance intends 2 GB for DB shared memory, 1 GB for web server processes, and 1 GB for OS and admin tools. Any one of these categories exceeding their estimate would cause memory pressure.



        Measure memory use per service precisely with cgroup accounting. Containers do this, although you have not said you are using containers.



        systemd slices also use cgroups, if that is your service manager. Set DefaultMemoryAccounting=yes and review the output of systemd-cgtop. Try cgroup aware monitoring over time with tools like netdata's cgroups plugin. Set resource limits on the unit once you know what they should be.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Apr 15 at 22:01









        John MahowaldJohn Mahowald

        9,0211713




        9,0211713



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Server Fault!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f963174%2fhow-do-i-find-a-memory-leak-in-linux%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

            Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

            Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020