Product and Software: This article applies to all Aruba platforms and ArubaOS 126.96.36.199 and higher.
Historically, debugging memory utilization has always been challenging and demands precise information capture to identify the memory consumption or leakage by a specific process or process thread.
These ArubaOS commands provide information about overall memory utilization and that by any given process:
- show memory : displays overall platform memory consumption and available free memory
- show processes sort-by memory: displays a list of all the processes running on the controller, sorted by the largest memory consuming processes listed at the top of the list.
Though these commands provide sufficient memory information, they must be executed at specific times and in most instances, periodically, to be able to trace memory utilization by a specific process on the controller.
If more than one process is suspected of consuming more than their normal foot prints or leaking memory, then executing multiple commands repeatedly over a monitoring period becomes a very tedious activity.
To simplify the process of debugging memory utilization issues, a new command called 'show memory debug' was introduced in ArubaOS 188.8.131.52, 184.108.40.206, and 220.127.116.11 and later builds.
This new command is a combination of the 'show clock', 'show memory', 'show memory <process_name>,' and 'show storage' command outputs and is extremely useful in providing a snapshot of memory utilization by the critical system processes at a given point in time.
The output also includes the critical processes current and typical memory utilization. It also displays the 'show storage' command output and checks the /tmp space for any large files.
Here is a sample output of the 'show memory debug' command:
(Aruba2400)# show memory debug
memory snapshot: Fri Jan 29 02:23:38 2010
Memory (Kb): total: 256124, free: 87948
4096 /mswitch/bin/l2tpd -D
3208 /mswitch/bin/wms -l 5
1288 /mswitch/bin/pptpd -f
auth : 3/18M (cur/typical) 0M over
stm : 2/18M (cur/typical) 0M over
wms : 3/18M (cur/typical) 0M over
cfgm : 13/15M (cur/typical) 0M over
fpapps : 14/20M (cur/typical) 0M over
profmgr : 1/ 8M (cur/typical) 0M over
isakmpd : 3/ 6M (cur/typical) 0M over
l2tpd : 4/ 8M (cur/typical) 0M over
mobileip : 1/ 4M (cur/typical) 0M over
pim : 0/ 2M (cur/typical) 0M over
pptpd : 1/ 5M (cur/typical) 0M over
dbsync : 0/ 3M (cur/typical) 0M over
slb : 1/ 4M (cur/typical) 0M over
snmpd : 1/ 5M (cur/typical) 0M over
udbserver: 1/ 4M (cur/typical) 0M over
No excessively large files found under /tmp
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 53532 53090 442 99% /
none 71680 3604 68076 5% /tmp
/dev/hda3 25901 10442 14122 43% /flash
Proto Recv-Q Send-Q Local Address Foreign Address State
size-131072 0 0 131072 0 0 32
size-65536 0 0 65536 0 0 16
size-32768 1 1 32768 1 1 8
size-16384 0 3 16384 0 3 4
size-8192 1 2 8192 1 2 2
size-4096 17 19 4096 17 19 1
This command is executed periodically during a given monitoring period and helps identify an offending process or processes.