skynet icon indicating copy to clipboard operation
skynet copied to clipboard

add stat for jemalloc/osmem, with debug_console output sytle modify

Open fanlix opened this issue 4 years ago • 3 comments

stat: add mem stat for jemalloc/os

修改内容

  • 1, add opts arg for mallctl()
  • 2, collect jemalloc.mem info
  • 3, collect os.mem info by /proc
  • 4, add new debug_console cmd: jmem, osmem, i, q
  • 5, make mem/cmem/stat cmd more human-readable

debug_console指令

  • jmem/osmem指令, 显示jemalloc和对应的os的内存占用细节.
  • q 退出指令, 忘记烦人的telnet ^[, quit
  • 调整了mem/cmem等指令的输出格式, 更易阅读.

指令用例

jmem
<CMD: jmem>
---------------------------------
stats.active       14888960     14.20 Mb
stats.allocated    14265888     13.61 Mb
stats.mapped       42164224     40.21 Mb
stats.resident     18509824     17.65 Mb
stats.retained     16556032     15.79 Mb
<CMD OK> cost=0.0011 sec

osmem
<CMD: osmem>
---------------------------------
dat       158984 Kb    156 Mb
rss        16256 Kb     16 Mb
shr         1592 Kb      2 Mb
txt          964 Kb      1 Mb
vsz       165144 Kb    162 Mb
<CMD OK> cost=0.0002 sec

cmem
<CMD: cmem>
---------------------------------
:01000001               640      0.00 Mb
:01000002            182512      0.17 Mb
:01000003             47456      0.05 Mb
:01000004             68656      0.07 Mb
:01000005             99296      0.09 Mb
:01000006               144      0.00 Mb
:01000007             16208      0.02 Mb
:01000008             80880      0.08 Mb
:01000009            109648      0.10 Mb
:0100000a             19888      0.02 Mb
:0100000b             12672      0.01 Mb
:0100000c            149584      0.14 Mb
:0100000d             13328      0.01 Mb
:0100000e             15984      0.02 Mb
:0100000f             42320      0.04 Mb
:fffffffe                32      0.00 Mb
:ffffffff          10521008     10.03 Mb
block   6956
total   11380256  10.85 Mb
<CMD OK> cost=0.0004 sec

mem
<CMD: mem>
---------------------------------
:01000004             65.64      0.06 Mb  (snlua cmaster)
:01000005             70.80      0.07 Mb  (snlua cslave)
:01000007             51.27      0.05 Mb  (snlua datacenterd)
:01000008             58.38      0.06 Mb  (snlua service_mgr)
:0100000a            290.04      0.28 Mb  (snlua protoloader)
:0100000b             64.67      0.06 Mb  (snlua console)
:0100000c            103.17      0.10 Mb  (snlua debug_console 8000)
:0100000d             53.62      0.05 Mb  (snlua simpledb)
:0100000e             52.29      0.05 Mb  (snlua watchdog)
:0100000f             60.24      0.06 Mb  (snlua gate)
sum          870.11 Kb  0.85 Mb (sum)
<CMD OK> cost=0.0004 sec

q
Connection closed by foreign host.

fanlix avatar Jul 21 '20 06:07 fanlix

建议把针对 jemalloc memory hook 部分单独提一个 pr ,我可以先合并。 针对 console 的修改另外给一个,暂时不合并。

cloudwu avatar Jul 21 '20 08:07 cloudwu

好的, 稍后拆分.

fanlix avatar Jul 22 '20 01:07 fanlix

rebase master

now this PR only contains osmem/console-style modify

fanlix avatar Jul 23 '20 03:07 fanlix