diff options
| author | Emile Joubert <emile@rabbitmq.com> | 2011-08-30 13:51:58 +0100 |
|---|---|---|
| committer | Emile Joubert <emile@rabbitmq.com> | 2011-08-30 13:51:58 +0100 |
| commit | 8d4c559a971d25cd818dd189b58b07a123edb490 (patch) | |
| tree | bfed062b3885100cfb4462dcf2e02e106f52e188 | |
| parent | 3607125be153616b1b98a0fe1a55018d9681877d (diff) | |
| download | rabbitmq-server-git-8d4c559a971d25cd818dd189b58b07a123edb490.tar.gz | |
Report vm memory limits differently
| -rw-r--r-- | docs/rabbitmqctl.1.xml | 12 | ||||
| -rw-r--r-- | src/rabbit.erl | 3 | ||||
| -rw-r--r-- | src/rabbit_control.erl | 6 | ||||
| -rw-r--r-- | src/vm_memory_monitor.erl | 7 |
4 files changed, 23 insertions, 5 deletions
diff --git a/docs/rabbitmqctl.1.xml b/docs/rabbitmqctl.1.xml index e5ec3eed7f..40dea46f8f 100644 --- a/docs/rabbitmqctl.1.xml +++ b/docs/rabbitmqctl.1.xml @@ -1371,6 +1371,7 @@ </para> </listitem> </varlistentry> + <varlistentry> <term><cmdsynopsis><command>set_vm_memory_high_watermark</command> <arg choice="req"><replaceable>fraction</replaceable></arg></cmdsynopsis></term> <listitem> @@ -1383,6 +1384,17 @@ </variablelist> </listitem> </varlistentry> + + <varlistentry> + <term><cmdsynopsis><command>get_vm_memory_limits</command></cmdsynopsis></term> + <listitem> + <para> + Show total memory reported by OS; and memory monitoring limit and threshhold. + The memory total and limit are reported in bytes. + </para> + </listitem> + </varlistentry> + </variablelist> </refsect2> </refsect1> diff --git a/src/rabbit.erl b/src/rabbit.erl index fdebeaf859..46f7d9d1f3 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -235,9 +235,6 @@ status() -> {running_applications, application:which_applications()}, {os, os:type()}, {erlang_version, erlang:system_info(system_version)}, - {vm_memory_high_watermark, - vm_memory_monitor:get_vm_memory_high_watermark()}, - {vm_memory_limit, vm_memory_monitor:get_memory_limit()}, {memory, erlang:memory()}]. environment() -> diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl index b386e3383a..abb462501f 100644 --- a/src/rabbit_control.erl +++ b/src/rabbit_control.erl @@ -329,6 +329,10 @@ action(set_vm_memory_high_watermark, Node, [Arg], _Opts, Inform) -> Inform("Setting memory threshhold on ~p to ~p", [Node, Frac]), rpc_call(Node, vm_memory_monitor, set_vm_memory_high_watermark, [Frac]); +action(get_vm_memory_limits, Node, _Args, _Opts, Inform) -> + Inform("Getting memory monitoring limits of node ~p", [Node]), + display_call_result(Node, {vm_memory_monitor, get_vm_info, []}); + action(set_permissions, Node, [Username, CPerm, WPerm, RPerm], Opts, Inform) -> VHost = proplists:get_value(?VHOST_OPT, Opts), Inform("Setting permissions for user ~p in vhost ~p", [Username, VHost]), @@ -352,7 +356,7 @@ action(report, Node, _Args, _Opts, Inform) -> io:format("Reporting server status on ~p~n~n", [erlang:universaltime()]), [begin ok = action(Action, N, [], [], Inform), io:nl() end || N <- unsafe_rpc(Node, rabbit_mnesia, running_clustered_nodes, []), - Action <- [status, cluster_status, environment]], + Action <- [status, cluster_status, environment, get_vm_memory_limits]], VHosts = unsafe_rpc(Node, rabbit_vhost, list, []), [print_report(Node, Q) || Q <- ?GLOBAL_QUERIES], [print_report(Node, Q, [V]) || Q <- ?VHOST_QUERIES, V <- VHosts], diff --git a/src/vm_memory_monitor.erl b/src/vm_memory_monitor.erl index 3b95591488..4779bcad90 100644 --- a/src/vm_memory_monitor.erl +++ b/src/vm_memory_monitor.erl @@ -35,7 +35,7 @@ -export([update/0, get_total_memory/0, get_vm_limit/0, get_check_interval/0, set_check_interval/1, get_vm_memory_high_watermark/0, set_vm_memory_high_watermark/1, - get_memory_limit/0]). + get_memory_limit/0, get_vm_info/0]). -define(SERVER, ?MODULE). @@ -99,6 +99,11 @@ set_vm_memory_high_watermark(Fraction) -> get_memory_limit() -> gen_server:call(?MODULE, get_memory_limit, infinity). +get_vm_info() -> + [{os_total_memory, get_total_memory()}, + {monitoring_memory_limit, get_memory_limit()}, + {monitoring_memory_threshhold, get_vm_memory_high_watermark()}]. + %%---------------------------------------------------------------------------- %% gen_server callbacks %%---------------------------------------------------------------------------- |
