diff options
| author | Marek Majkowski <marek@rabbitmq.com> | 2010-09-24 14:52:55 +0100 |
|---|---|---|
| committer | Marek Majkowski <marek@rabbitmq.com> | 2010-09-24 14:52:55 +0100 |
| commit | 48b47cdc7990f3e32af37ebe00ca754918524da6 (patch) | |
| tree | f480bd30a5ea026058799f4ad87c647cf159dace | |
| parent | 42cd6a4e553e44dd09d2d8004cf7ea3eac7da25c (diff) | |
| parent | d2c3b75c88cb7d0cf9765d8c5bce8470218af88b (diff) | |
| download | rabbitmq-server-git-48b47cdc7990f3e32af37ebe00ca754918524da6.tar.gz | |
bug23290 merged into default
| -rw-r--r-- | src/vm_memory_monitor.erl | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/vm_memory_monitor.erl b/src/vm_memory_monitor.erl index e658f005a3..220df4db22 100644 --- a/src/vm_memory_monitor.erl +++ b/src/vm_memory_monitor.erl @@ -296,6 +296,12 @@ get_total_memory({unix, sunos}) -> Dict = dict:from_list(lists:map(fun parse_line_sunos/1, Lines)), dict:fetch('Memory size', Dict); +get_total_memory({unix, aix}) -> + File = cmd("/usr/bin/vmstat -v"), + Lines = string:tokens(File, "\n"), + Dict = dict:from_list(lists:map(fun parse_line_aix/1, Lines)), + dict:fetch('memory pages', Dict) * 4096; + get_total_memory(_OsType) -> unknown. @@ -341,6 +347,17 @@ parse_line_sunos(Line) -> [Name] -> {list_to_atom(Name), none} end. +%% Lines look like " 12345 memory pages" +%% or " 80.1 maxpin percentage" +parse_line_aix(Line) -> + [Value | NameWords] = string:tokens(Line, " "), + Name = string:join(NameWords, " "), + {list_to_atom(Name), + case lists:member($., Value) of + true -> trunc(list_to_float(Value)); + _ -> list_to_integer(Value) + end}. + freebsd_sysctl(Def) -> list_to_integer(cmd("/sbin/sysctl -n " ++ Def) -- "\n"). |
