Comments (3)
Hmm indeed. Has gotten bigger over time.
$ sudo grep VmRSS /proc/$(pgrep earlyoom)/status
VmRSS: 2004 kB
from earlyoom.
I'm looking at a Valgrind heap profile, and we use about 36kiB on the heap. Not sure yet what the test is. The mlock()ed libc?
--------------------------------------------------------------------------------
Command: ./earlyoom
Massif arguments: (none)
ms_print arguments: massif.out.8012
--------------------------------------------------------------------------------
KB
35.18^ ## :: : :::@ :: : :: : : :: : : :::
| # ::::@::::::::::::: :@::: ::::::::::: ::::::: ::::::::::@::::@@: :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
| :# :: :@: : :::: :: : :@::: :: : ::: :: ::: ::: ::: ::::: @::::@ : :
0 +----------------------------------------------------------------------->Mi
0 3.227
Number of snapshots: 51
Detailed snapshots: [2 (peak), 6, 17, 43, 48]
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 155,225 32,824 32,816 8 0
2 206,106 36,024 35,968 56 0
99.84% (35,968B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->91.09% (32,816B) 0x4EF2DF4: __alloc_dir (in /usr/lib64/libc-2.27.so)
| ->91.09% (32,816B) 0x4EF2EFB: opendir_tail (in /usr/lib64/libc-2.27.so)
| ->91.09% (32,816B) 0x4020DA: main (main.c:63)
|
->05.69% (2,048B) 0x4EA0C0A: _IO_file_doallocate (in /usr/lib64/libc-2.27.so)
| ->05.69% (2,048B) 0x4EAEAFE: _IO_doallocbuf (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x4EAC321: _IO_file_seekoff@@GLIBC_2.2.5 (in /usr/lib64/libc-2.27.so)
| | ->02.84% (1,024B) 0x4EA9912: rewind (in /usr/lib64/libc-2.27.so)
| | ->02.84% (1,024B) 0x40126E: parse_meminfo (meminfo.c:68)
| | ->02.84% (1,024B) 0x402795: main (main.c:210)
| |
| ->02.84% (1,024B) 0x4EADB62: _IO_file_underflow@@GLIBC_2.2.5 (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x4EAEBB0: _IO_default_uflow (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x4E900E5: _IO_vfscanf (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x4E9F114: __isoc99_fscanf (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x401625: get_process_stats (kill.c:79)
| ->02.84% (1,024B) 0x401A1D: userspace_kill (kill.c:152)
| ->02.84% (1,024B) 0x401FAF: handle_oom (kill.c:274)
| ->02.84% (1,024B) 0x4029F3: main (main.c:243)
|
->03.06% (1,104B) 0x4EA15F9: __fopen_internal (in /usr/lib64/libc-2.27.so)
->01.53% (552B) 0x401238: parse_meminfo (meminfo.c:63)
| ->01.53% (552B) 0x402795: main (main.c:210)
|
->01.53% (552B) 0x401591: get_process_stats (kill.c:73)
->01.53% (552B) 0x401A1D: userspace_kill (kill.c:152)
->01.53% (552B) 0x401FAF: handle_oom (kill.c:274)
->01.53% (552B) 0x4029F3: main (main.c:243)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
3 282,297 34,992 34,944 48 0
4 372,266 34,424 34,392 32 0
5 430,858 34,992 34,944 48 0
6 493,410 34,992 34,944 48 0
99.86% (34,944B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->93.78% (32,816B) 0x4EF2DF4: __alloc_dir (in /usr/lib64/libc-2.27.so)
| ->93.78% (32,816B) 0x4EF2EFB: opendir_tail (in /usr/lib64/libc-2.27.so)
| ->93.78% (32,816B) 0x4020DA: main (main.c:63)
|
->03.16% (1,104B) 0x4EA15F9: __fopen_internal (in /usr/lib64/libc-2.27.so)
| ->01.58% (552B) 0x401238: parse_meminfo (meminfo.c:63)
| | ->01.58% (552B) 0x402795: main (main.c:210)
| |
| ->01.58% (552B) 0x401591: get_process_stats (kill.c:73)
| | ->01.58% (552B) 0x401A1D: userspace_kill (kill.c:152)
| | ->01.58% (552B) 0x401FAF: handle_oom (kill.c:274)
| | ->01.58% (552B) 0x4029F3: main (main.c:243)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.93% (1,024B) 0x4EA0C0A: _IO_file_doallocate (in /usr/lib64/libc-2.27.so)
->02.93% (1,024B) 0x4EAEAFE: _IO_doallocbuf (in /usr/lib64/libc-2.27.so)
->02.93% (1,024B) 0x4EAC321: _IO_file_seekoff@@GLIBC_2.2.5 (in /usr/lib64/libc-2.27.so)
| ->02.93% (1,024B) 0x4EA9912: rewind (in /usr/lib64/libc-2.27.so)
| ->02.93% (1,024B) 0x40126E: parse_meminfo (meminfo.c:68)
| ->02.93% (1,024B) 0x402795: main (main.c:210)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
7 556,128 34,992 34,944 48 0
8 623,333 34,992 34,944 48 0
9 716,488 36,024 35,968 56 0
10 758,405 36,024 35,968 56 0
11 833,511 34,992 34,944 48 0
12 888,199 34,992 34,944 48 0
13 967,183 36,024 35,968 56 0
14 1,021,613 34,992 34,944 48 0
15 1,090,095 36,024 35,968 56 0
16 1,190,259 36,024 35,968 56 0
17 1,236,572 36,024 35,968 56 0
99.84% (35,968B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->91.09% (32,816B) 0x4EF2DF4: __alloc_dir (in /usr/lib64/libc-2.27.so)
| ->91.09% (32,816B) 0x4EF2EFB: opendir_tail (in /usr/lib64/libc-2.27.so)
| ->91.09% (32,816B) 0x4020DA: main (main.c:63)
|
->05.69% (2,048B) 0x4EA0C0A: _IO_file_doallocate (in /usr/lib64/libc-2.27.so)
| ->05.69% (2,048B) 0x4EAEAFE: _IO_doallocbuf (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x4EAC321: _IO_file_seekoff@@GLIBC_2.2.5 (in /usr/lib64/libc-2.27.so)
| | ->02.84% (1,024B) 0x4EA9912: rewind (in /usr/lib64/libc-2.27.so)
| | ->02.84% (1,024B) 0x40126E: parse_meminfo (meminfo.c:68)
| | ->02.84% (1,024B) 0x402795: main (main.c:210)
| |
| ->02.84% (1,024B) 0x4EADB62: _IO_file_underflow@@GLIBC_2.2.5 (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x4EAEBB0: _IO_default_uflow (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x4E900E5: _IO_vfscanf (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x4E9F114: __isoc99_fscanf (in /usr/lib64/libc-2.27.so)
| ->02.84% (1,024B) 0x401AD9: userspace_kill (kill.c:170)
| | ->02.84% (1,024B) 0x401FAF: handle_oom (kill.c:274)
| | ->02.84% (1,024B) 0x4029F3: main (main.c:243)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->03.06% (1,104B) 0x4EA15F9: __fopen_internal (in /usr/lib64/libc-2.27.so)
->01.53% (552B) 0x401238: parse_meminfo (meminfo.c:63)
| ->01.53% (552B) 0x402795: main (main.c:210)
|
->01.53% (552B) 0x401AA8: userspace_kill (kill.c:168)
| ->01.53% (552B) 0x401FAF: handle_oom (kill.c:274)
| ->01.53% (552B) 0x4029F3: main (main.c:243)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
18 1,296,455 34,992 34,944 48 0
19 1,349,458 34,992 34,944 48 0
20 1,408,043 36,024 35,968 56 0
21 1,496,553 34,992 34,944 48 0
22 1,547,671 34,992 34,944 48 0
23 1,627,785 34,992 34,944 48 0
24 1,699,811 36,024 35,968 56 0
25 1,759,570 34,992 34,944 48 0
26 1,828,611 34,424 34,392 32 0
27 1,883,358 34,992 34,944 48 0
28 1,969,851 36,024 35,968 56 0
29 2,021,478 34,992 34,944 48 0
30 2,072,827 36,024 35,968 56 0
31 2,149,641 34,424 34,392 32 0
32 2,227,213 36,024 35,968 56 0
33 2,278,748 34,992 34,944 48 0
34 2,329,755 36,024 35,968 56 0
35 2,406,524 34,424 34,392 32 0
36 2,484,100 34,992 34,944 48 0
37 2,535,243 34,992 34,944 48 0
38 2,587,417 34,992 34,944 48 0
39 2,638,431 36,024 35,968 56 0
40 2,689,547 34,992 34,944 48 0
41 2,740,084 34,992 34,944 48 0
42 2,791,917 34,992 34,944 48 0
43 2,869,874 34,992 34,944 48 0
99.86% (34,944B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->93.78% (32,816B) 0x4EF2DF4: __alloc_dir (in /usr/lib64/libc-2.27.so)
| ->93.78% (32,816B) 0x4EF2EFB: opendir_tail (in /usr/lib64/libc-2.27.so)
| ->93.78% (32,816B) 0x4020DA: main (main.c:63)
|
->03.16% (1,104B) 0x4EA15F9: __fopen_internal (in /usr/lib64/libc-2.27.so)
| ->01.58% (552B) 0x401238: parse_meminfo (meminfo.c:63)
| | ->01.58% (552B) 0x402795: main (main.c:210)
| |
| ->01.58% (552B) 0x401591: get_process_stats (kill.c:73)
| | ->01.58% (552B) 0x401A1D: userspace_kill (kill.c:152)
| | ->01.58% (552B) 0x401FAF: handle_oom (kill.c:274)
| | ->01.58% (552B) 0x4029F3: main (main.c:243)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.93% (1,024B) 0x4EA0C0A: _IO_file_doallocate (in /usr/lib64/libc-2.27.so)
->02.93% (1,024B) 0x4EAEAFE: _IO_doallocbuf (in /usr/lib64/libc-2.27.so)
->02.93% (1,024B) 0x4EAC321: _IO_file_seekoff@@GLIBC_2.2.5 (in /usr/lib64/libc-2.27.so)
| ->02.93% (1,024B) 0x4EA9912: rewind (in /usr/lib64/libc-2.27.so)
| ->02.93% (1,024B) 0x40126E: parse_meminfo (meminfo.c:68)
| ->02.93% (1,024B) 0x402795: main (main.c:210)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
44 2,921,142 34,992 34,944 48 0
45 2,973,021 34,992 34,944 48 0
46 3,024,307 34,992 34,944 48 0
47 3,075,201 36,024 35,968 56 0
48 3,126,756 34,992 34,944 48 0
99.86% (34,944B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->93.78% (32,816B) 0x4EF2DF4: __alloc_dir (in /usr/lib64/libc-2.27.so)
| ->93.78% (32,816B) 0x4EF2EFB: opendir_tail (in /usr/lib64/libc-2.27.so)
| ->93.78% (32,816B) 0x4020DA: main (main.c:63)
|
->03.16% (1,104B) 0x4EA15F9: __fopen_internal (in /usr/lib64/libc-2.27.so)
| ->01.58% (552B) 0x401238: parse_meminfo (meminfo.c:63)
| | ->01.58% (552B) 0x402795: main (main.c:210)
| |
| ->01.58% (552B) 0x401591: get_process_stats (kill.c:73)
| | ->01.58% (552B) 0x401A1D: userspace_kill (kill.c:152)
| | ->01.58% (552B) 0x401FAF: handle_oom (kill.c:274)
| | ->01.58% (552B) 0x4029F3: main (main.c:243)
| |
| ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|
->02.93% (1,024B) 0x4EA0C0A: _IO_file_doallocate (in /usr/lib64/libc-2.27.so)
->02.93% (1,024B) 0x4EAEAFE: _IO_doallocbuf (in /usr/lib64/libc-2.27.so)
->02.93% (1,024B) 0x4EAC321: _IO_file_seekoff@@GLIBC_2.2.5 (in /usr/lib64/libc-2.27.so)
| ->02.93% (1,024B) 0x4EA9912: rewind (in /usr/lib64/libc-2.27.so)
| ->02.93% (1,024B) 0x40126E: parse_meminfo (meminfo.c:68)
| ->02.93% (1,024B) 0x402795: main (main.c:210)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
49 3,203,022 36,024 35,968 56 0
50 3,383,694 34,424 34,392 32 0
from earlyoom.
Fixed via 124239d , thanks for checking!
from earlyoom.
Related Issues (20)
- How to prevent some tabs in Chromium from being killed? HOT 2
- Add option to sleep after killing process HOT 1
- What kind of regexes are used for --prefer and --avoid, and how can I test them? HOT 5
- Feature Request: Add option to protect a specific PID on the fly HOT 2
- Document case of using no swap file HOT 1
- Distribute Earlyoom via Container on Docker Swarm HOT 2
- Failed to start Early OOM Daemon. HOT 6
- earlyoom-1.7 fails TestRss
- Can't get earlyoom to kill anything HOT 2
- Earlyoom spams Journalctl and does not take LOGLEVEL=info HOT 3
- Feature request: Add option to add up -m and -M minimal available memory HOT 1
- UserMemTotal is not documented, `-M` argument seems to still be used as percentage of *all* total which is confusing HOT 1
- Earlyoom works only with zram ? HOT 3
- Documentation: Explain connection between logging (badness) and readme explanation (oom_score), or change logging HOT 1
- earlyoom kills more than required when ram isn't cleaned fast enough HOT 8
- Update documentation of --prefer and --avoid regex to note that the regex names are truncated to 15 characters HOT 5
- Add option to kill processes that consume the most memory instead of oom_score_adj HOT 2
- Preferring or ignoring processes based on their user? HOT 2
- centos 8 aarch64: The 1.8.1 version test failed HOT 3
- Large lingering mmaps that apparently could be paged out seem to instead cause large memory crashes HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from earlyoom.