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;
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
add a comment |
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
Setup a tool that periodically stores the memory usage of all your processes? Perhaps something as simple as a */5 cron that does something likeps 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
add a comment |
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
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
linux cpu-usage memory-leak
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 likeps 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
add a comment |
Setup a tool that periodically stores the memory usage of all your processes? Perhaps something as simple as a */5 cron that does something likeps 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
add a comment |
1 Answer
1
active
oldest
votes
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.
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered Apr 15 at 22:01
John MahowaldJohn Mahowald
9,0211713
9,0211713
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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