mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 12:20:41 +00:00
malloc hook for jemalloc and c memory info dump
This commit is contained in:
51
lualib-src/lua-memory.c
Normal file
51
lualib-src/lua-memory.c
Normal file
@@ -0,0 +1,51 @@
|
||||
#include <lua.h>
|
||||
#include <lauxlib.h>
|
||||
|
||||
#include "malloc_hook.h"
|
||||
|
||||
static int
|
||||
ltotal(lua_State *L) {
|
||||
size_t t = malloc_used_memory();
|
||||
lua_pushunsigned(L, t);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
lblock(lua_State *L) {
|
||||
size_t t = malloc_memory_block();
|
||||
lua_pushunsigned(L, t);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
ldumpinfo(lua_State *L) {
|
||||
memory_info_dump();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
ldump(lua_State *L) {
|
||||
dump_c_mem();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
luaopen_memory(lua_State *L) {
|
||||
luaL_checkversion(L);
|
||||
|
||||
luaL_Reg l[] = {
|
||||
{ "total", ltotal },
|
||||
{ "block", lblock },
|
||||
{ "dumpinfo", ldumpinfo },
|
||||
{ "dump", ldump },
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
luaL_newlib(L,l);
|
||||
|
||||
return 1;
|
||||
}
|
||||
Reference in New Issue
Block a user