{"id":6778,"date":"2018-10-14T14:10:10","date_gmt":"2018-10-14T19:10:10","guid":{"rendered":"http:\/\/appcrawler.com\/wordpress\/?p=6778"},"modified":"2018-11-08T16:02:57","modified_gmt":"2018-11-08T21:02:57","slug":"anon-memory-segments-on-linux","status":"publish","type":"post","link":"http:\/\/appcrawler.com\/wordpress\/2018\/10\/14\/anon-memory-segments-on-linux\/","title":{"rendered":"anon memory segments on Linux"},"content":{"rendered":"<pre>\r\n[adm-showard@cmhlcarchapp01 ~]$ cat mem.c\r\n#include <sys\/resource.h>\r\n#include <stdlib.h>\r\n#include <string.h>\r\n\r\nint main() {\r\n  struct rusage r_usage;\r\n  void *m = malloc(4194304000L);\r\n  memset(m,0,4194304000L);\r\n  sleep (60);\r\n}\r\n[adm-showard@cmhlcarchapp01 ~]$ gcc -o mem mem.c\r\n[adm-showard@cmhlcarchapp01 ~]$ .\/mem &\r\n[1] 25748\r\n[adm-showard@cmhlcarchapp01 ~]$ pmap -d 25748\r\n25748:   .\/mem\r\nAddress           Kbytes Mode  Offset           Device    Mapping\r\n0000000000400000       4 r-x-- 0000000000000000 000:00018 mem\r\n0000000000600000       4 rw--- 0000000000000000 000:00018 mem\r\n0000003934000000     128 r-x-- 0000000000000000 0fd:00000 ld-2.12.so\r\n0000003934220000       4 r---- 0000000000020000 0fd:00000 ld-2.12.so\r\n0000003934221000       4 rw--- 0000000000021000 0fd:00000 ld-2.12.so\r\n0000003934222000       4 rw--- 0000000000000000 000:00000   [ anon ]\r\n0000003934400000    1576 r-x-- 0000000000000000 0fd:00000 libc-2.12.so\r\n000000393458a000    2048 ----- 000000000018a000 0fd:00000 libc-2.12.so\r\n000000393478a000      16 r---- 000000000018a000 0fd:00000 libc-2.12.so\r\n000000393478e000       8 rw--- 000000000018e000 0fd:00000 libc-2.12.so\r\n0000003934790000      16 rw--- 0000000000000000 000:00000   [ anon ]\r\n00007f2298f8b000 4096016 rw--- 0000000000000000 000:00000   [ anon ]\r\n00007f2392f9c000       4 rw--- 0000000000000000 000:00000   [ anon ]\r\n00007fff37397000      84 rw--- 0000000000000000 000:00000   [ stack ]\r\n00007fff373ec000       4 r-x-- 0000000000000000 000:00000   [ anon ]\r\nffffffffff600000       4 r-x-- 0000000000000000 000:00000   [ anon ]\r\nmapped: 4099924K    writeable\/private: 4096140K    shared: 0K\r\n[adm-showard@cmhlcarchapp01 ~]$ ps aux | grep 25748 | grep -v grep\r\n8084694  25748 15.6 50.8 4099920 4096392 pts\/0 S    14:33   0:03 .\/mem\r\n<\/pre>\n<p>If you comment out the memset() call, you won&#8217;t see the RSS memory as high&#8230;<\/p>\n<pre>\r\n[adm-showard@cmhlcarchapp01 ~]$ ps aux | grep 10828 | grep -v grep\r\n8084694  10828  0.0  0.0 4099920  388 pts\/0    S    15:13   0:00 .\/mem\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>[adm-showard@cmhlcarchapp01 ~]$ cat mem.c #include #include #include int main() { struct rusage r_usage; void *m = malloc(4194304000L); memset(m,0,4194304000L); sleep (60); } [adm-showard@cmhlcarchapp01 ~]$ gcc -o mem mem.c [adm-showard@cmhlcarchapp01 ~]$ .\/mem &#038; [1] 25748 [adm-showard@cmhlcarchapp01 ~]$ pmap -d 25748 25748: .\/mem&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"http:\/\/appcrawler.com\/wordpress\/2018\/10\/14\/anon-memory-segments-on-linux\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[28,27],"tags":[],"_links":{"self":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/6778"}],"collection":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/comments?post=6778"}],"version-history":[{"count":4,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/6778\/revisions"}],"predecessor-version":[{"id":6789,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/6778\/revisions\/6789"}],"wp:attachment":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/media?parent=6778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/categories?post=6778"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/tags?post=6778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}