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

            Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

            Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

            What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company