diff --git a/Makefile b/Makefile index d11a68475140e43fa4d084bf2fe2d771a8d69e04..d9d6a0d0f9e6c66459398a3f53df7f0c6fa97f7f 100644 --- a/Makefile +++ b/Makefile @@ -72,7 +72,7 @@ install: mkdir -p /var/log/sysak cp $(SRC)/../rpm/sysak_server.conf /usr/local/sysak/ ifneq ($(wildcard $(OBJPATH)/.sysak_components/tools/monitor/sysakmon.conf),) - cp $(OBJPATH)/.sysak_components/tools/monitor/sysakmon.conf /etc/sysak/ + cp $(OBJPATH)/.sysak_components/tools/monitor/sysakmon.conf /usr/local/sysak/ cp $(SRC)/../rpm/sysak.service /usr/lib/systemd/system/ endif diff --git a/source/tools/detect/mem/memgraph/memgraph.py b/source/tools/detect/mem/memgraph/memgraph.py index 900f07fb3632774e2bc445bbeab414821249649b..b2d1c3be0f5624d4de38f6a43e45b3789460e66e 100644 --- a/source/tools/detect/mem/memgraph/memgraph.py +++ b/source/tools/detect/mem/memgraph/memgraph.py @@ -132,7 +132,24 @@ def hugepagesz_supported(hugepagesz): return True return False +def get_reserved_mem(meminfo): + cmd = "cat /proc/iomem | grep -wE 'Reserved|Crash kernel|Kernel code|Kernel data|Kernel bss'" + ret = os.popen(cmd).read().split("\n") + total = 0 + for line in ret: + line = line.strip() + if len(line) < 10: + continue + addr = line.split(":")[0].strip() + start = addr.split("-")[0].strip() + end = addr.split("-")[1].strip() + size = int(end,16) - int(start,16) + total += size + meminfo['res'] = total/1024 + def get_page_used(meminfo): + get_reserved_mem(meminfo) + user = meminfo["Active(anon)"] + meminfo["Inactive(anon)"] user += meminfo["Active(file)"] + meminfo["Inactive(file)"] user += meminfo["Mlocked"] @@ -140,7 +157,7 @@ def get_page_used(meminfo): user += meminfo["2048"] if "1048576" in meminfo: user += meminfo["1048576"] - kernelOther = meminfo["Slab"] + meminfo["KernelStack"] + meminfo["PageTables"] + kernelOther = meminfo["Slab"] + meminfo["KernelStack"] + meminfo["PageTables"] + meminfo['res'] kernelOther += meminfo["VmallocUsed"] pageUsed = meminfo["MemTotal"] - meminfo["MemFree"] - user - kernelOther if pageUsed < 1: @@ -233,6 +250,7 @@ def memgraph_graph(meminfo): user["shmem"] = meminfo["Shmem"] res["user"] = user kernel = {} + kernel["res"] = meminfo["res"] kernel["SReclaimable"] = meminfo["SReclaimable"] kernel["SUnreclaim"] = meminfo["SUnreclaim"] kernel["KernelStack"] = meminfo["KernelStack"] diff --git a/source/tools/monitor/mservice/master/conf/sysakmon.conf b/source/tools/monitor/mservice/master/conf/sysakmon.conf index 0ebbf80be092f244abd62c8938690682d4462820..7688611c50516866a374cc7bbd665f19ccbc372a 100644 --- a/source/tools/monitor/mservice/master/conf/sysakmon.conf +++ b/source/tools/monitor/mservice/master/conf/sysakmon.conf @@ -29,7 +29,7 @@ mod_numabalance on output_interface file ####[output_file] original data to store -output_file_path /usr/local/sysak/log/tsar.data +output_file_path /usr/local/sysak/tsar.data ####[output_stdio] these mod will be show as using tsar command output_stdio_mod mod_swap,mod_partition,mod_cpu,mod_mem,mod_lvs,mod_haproxy,mod_traffic,mod_squid,mod_load,mod_tcp,mod_udp,mod_tcpx,mod_apache,mod_pcsw,mod_io,mod_percpu