This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
aix:workloadmanager [2023/07/24 11:01] manu |
aix:workloadmanager [2024/04/08 18:01] (current) manu |
||
|---|---|---|---|
| Line 6: | Line 6: | ||
| Then **rules** are applied to each **class** | Then **rules** are applied to each **class** | ||
| + | |||
| + | Some classes exists by default, but you can create additional, for example for DB2, Oracle.... | ||
| + | |||
| + | WLM definitions are stored into /etc/wlm/, you can use **smit wlm** | ||
| + | |||
| + | {{:aix:aix_wlm01.png|}} | ||
| + | |||
| + | Before applying a workload, try it in passive mode, and check the load on each class | ||
| + | <cli prompt='>'> | ||
| + | root@prod /root> wlmcntrl -p | ||
| + | </cli> | ||
| + | |||
| + | Watch using wlmstat | ||
| + | <cli prompt='>'> | ||
| + | root@prod /root> wlmstat | ||
| + | CLASS CPU MEM DKIO | ||
| + | Unclassified 0.00 0.18 0.00 | ||
| + | Unmanaged 0.01 26.58 0.00 | ||
| + | Default 1.18 50.09 2.13 | ||
| + | Shared 0.00 7.18 0.00 | ||
| + | System 0.66 34.50 3.69 | ||
| + | TOTAL 1.84 91.95 5.82 | ||
| + | </cli> | ||
| <cli prompt='>'> | <cli prompt='>'> | ||
| Line 16: | Line 39: | ||
| WLM is running | WLM is running | ||
| - | root@prod /root> wlmstat -a | + | root@prod /root> wlmstat |
| CLASS CPU MEM DKIO | CLASS CPU MEM DKIO | ||
| Unclassified 0.00 20.54 0.00 | Unclassified 0.00 20.54 0.00 | ||
| Line 24: | Line 47: | ||
| System 1.12 2.41 0.35 | System 1.12 2.41 0.35 | ||
| TOTAL 3.37 28.09 0.35 | TOTAL 3.37 28.09 0.35 | ||
| + | </cli> | ||
| + | |||
| + | <cli prompt='>'> | ||
| + | root@prod /root> lsclass -f | ||
| + | System: | ||
| + | memorymin = 1 | ||
| + | Default: | ||
| + | Shared: | ||
| + | </cli> | ||
| + | |||
| + | To monitor you can also use: | ||
| + | wlmstat 3 100 | ||
| + | nmon (then option W) | ||
| + | topas | ||
| + | | ||
| + | <cli prompt='>'> | ||
| + | root@prod /root> topas –W | ||
| + | Topas Monitor for host: srv-aix-001nterval: 2 Fri Apr 17 09:08:56 2015 | ||
| + | WLM-Class (Passive) CPU% Mem% Blk-I/O% | ||
| + | clBP1 24.70 30.67 1.31 | ||
| + | System 0.59 34.76 0.00 | ||
| + | clPX6 10.12 14.86 0.00 | ||
| + | Default 0.03 4.48 0.00 | ||
| + | Unmanaged 0.01 26.58 0.00 | ||
| + | Shared 0.00 7.18 0.00 | ||
| + | Unclassified 0.00 0.18 0.00 | ||
| </cli> | </cli> | ||
| Check your process class | Check your process class | ||
| <cli prompt='>'> | <cli prompt='>'> | ||
| - | root@prod /root> ps -ae -o pid,user,class,args | + | root@prod /root> ps -ae -o pid,user,class,args,pcpu,vsz |
| - | PID USER CLASS COMMAND | + | PID USER CLASS COMMAND %CPU VSZ |
| - | 1 root Unclassified /etc/init | + | 1 root System /etc/init 0.0 804 |
| - | 2949328 root Unclassified /usr/sbin/syncd 60 | + | 590300 root System /usr/sbin/syncd 60 0.0 596 |
| - | 3211498 root Unclassified /usr/ccs/bin/shlap64 | + | 2621880 root System /usr/ccs/bin/shlap64 0.0 392 |
| - | 3801296 root Unclassified /usr/lib/errdemon | + | 3867110 root System /usr/lib/errdemon 0.0 928 |
| - | 4653308 root Unclassified /usr/sbin/portmap | + | 4325632 root System /usr/sbin/srcmstr 0.0 816 |
| - | 4849858 root Unclassified /usr/sbin/snmpd | + | 5570884 root Default iostat -Dsal 60 1 0.0 844 |
| - | 7209188 root System /usr/sbin/smbd -D | + | 5636536 root System /usr/sbin/xntpd 0.0 388 |
| - | 7274732 nobody System /usr/sbin/smbd -D | + | 5833142 root System /usr/sbin/syslogd -r -n 0.0 820 |
| - | 7340260 root System /opt/rsct/bin/rmcd -a IBM.LPCommands -r -S 1500 | + | 5898680 root System /usr/sbin/portmap 2.0 1004 |
| - | 7405804 root System [trspoolm] | + | 5964220 root System /usr/sbin/aso 0.0 1396 |
| - | 7471338 root System ./mflm_manager | + | 6029626 mqm Default sshd: mqm@pts/1 0.1 1188 |
| - | 7602278 ek Default CONS3 | + | 6095302 root System /usr/sbin/biod 6 0.0 120 |
| - | 7667888 ew Default TH | + | 6423002 root System /usr/sbin/pfcdaemon 0.0 1172 |
| - | 7733346 ek Default THC | + | 6488524 root System /usr/sbin/nfsrgyd 3.0 1352 |
| - | 7798796 root System /opt/rsct/bin/IBM.MgmtDomainRMd | + | 6816036 root System /opt/rsct/bin/IBM.DRMd 0.0 1696 |
| - | 7864420 root System /opt/rsct/bin/IBM.ServiceRMd | + | 6881784 root System /usr/sbin/sshd 0.0 1196 |
| - | 7929868 root System /opt/rsct/bin/IBM.HostRMd | + | |
| </cli> | </cli> | ||
| + | Print memory in MB | ||
| + | <cli prompt='>'> | ||
| + | root@prod /root> ps -ae -o pid,user,class,pcpu,vsz,args | awk '{$5=int(100 * $5/1024)/100"MB";}{ print;}' | ||
| + | PID USER CLASS %CPU 0MB COMMAND | ||
| + | 1 root System 0.0 0.8MB /etc/init | ||
| + | 2884068 root System 0.0 0.58MB /usr/sbin/syncd 60 | ||
| + | 3342724 root System 0.0 0.38MB /usr/ccs/bin/shlap64 | ||
| + | 3604962 root System 0.0 0.9MB /usr/lib/errdemon | ||
| + | </cli> | ||
| + | |||
| + | <code> | ||
| Switch in WLM in to active mode. Active means monitor and possibly controlling class resource (if you assign shares): | Switch in WLM in to active mode. Active means monitor and possibly controlling class resource (if you assign shares): | ||
| Line 80: | Line 139: | ||
| Start WLM in passive mode or switches from any mode to passive mode. In this mode, the WLM accounts for all resources, but no resource is regulated. | Start WLM in passive mode or switches from any mode to passive mode. In this mode, the WLM accounts for all resources, but no resource is regulated. | ||
| -q | -q | ||
| + | </code> | ||
| + | |||
| + | List classes and limits class | ||
| + | <cli prompt='>'> | ||
| + | root@prod /root> lsclass -C | ||
| + | #name:description:tier:inheritance:authuser:authgroup:adminuser:admingroup:rset:CPUshares:CPUmin:CPUsoftmax:CPUhardmax:memoryshares:memorymin:memorysoftmax:memoryhardmax:diskIOshares:diskIOmin:diskIOsoftmax:diskIOhardmax:totalCPUhardmax:totalCPUunit:totalDiskIOhardmax:totalDiskIOunit:totalConnecttimehardmax:totalConnecttimeunit:totalProcesseshardmax:totalThreadshardmax:totalLoginshardmax:classRealMem:classRealMemunit:classVirtMem:classVirtMemunit:classLargePages:classLargePagesunit:procVirtMem:procVirtMemunit:localshm:vmenforce:delshm:iopriority | ||
| + | System::0:no::::::-:0:100:100:-:1:100:100:-:0:100:100:-:s:-:KB:-:s:-:-:-:-:MB:-:MB:-:MB:-:MB:no:proc:no:0 | ||
| + | Default::0:no::::::-:0:100:100:-:0:100:100:-:0:100:100:-:s:-:KB:-:s:-:-:-:-:MB:-:MB:-:MB:-:MB:no:proc:no:0 | ||
| + | Shared::0:no::::::-:0:100:100:-:0:100:100:-:0:100:100:-:s:-:KB:-:s:-:-:-:-:MB:-:MB:-:MB:-:MB:no:proc:no:0 | ||
| + | </cli> | ||
| + | |||
| + | Commands to manage classes: mkclass, chclass, rmclass ... | ||
| + | |||
| + | ^Command^ Description^ Usage^ | ||
| + | |mkclass |Creates a WLM class|mkclass <class name> ; mkclass -a inheritance=yes -a localshm =yes <class name>| | ||
| + | |wlmassign |Assigns a process to a WLM class |wlmassign <class name> <process id>| | ||
| + | |lsclass |Returns the list of superclasses |lsclass| | ||
| + | |wlmcheck |Checks WLM settings |wlmcheck| | ||
| + | |rmclass |Removes a WLM class |rmclass <class name>| | ||
| + | |wlmcntrl -p |Starts WLM in passive mode|wlmcntrl -p| | ||
| + | |wlmcntrl -a |Starts WLM in active mode |wlmcntrl -a| | ||
| + | |wlmcntrl -o |Stops WLM |wlmcntr -o| | ||
| + | |wlmcntrl -u |Update WLM (refresh after modifications) |wlmcntr -u| | ||
| + | |||
| + | ===== Monitoring ===== | ||
| + | |||
| + | Multiple tools to monitor WLM | ||
| + | |||
| + | Here example of the class **app1** | ||
| + | <cli prompt='>'> | ||
| + | [p630n02][/work]> acctcom -w | grep app1 | ||
| + | prog1 user1 app1.Default pts/2 12:02:48 12:05:22 154.12 144.55 10008.00 | ||
| + | prog1 user1 app1.Default pts/2 12:05:42 12:07:19 97.16 111.80 7705.00 | ||
| + | prog1 user1 app1.Default pts/2 12:09:27 12:10:04 37.20 32.22 4370.00 | ||
| + | prog1 user1 app1.Default pts/2 12:10:14 12:14:42 268.50 233.17 10256.00 | ||
| + | prog1 user1 app1.Default pts/2 12:17:51 12:20:45 174.62 250.88 13296.00 | ||
| + | </cli> | ||
| + | |||
| + | <cli prompt='>'> | ||
| + | [p630n02][/work]> acctcom -c app1 | ||
| + | COMMAND START END REAL CPU MEAN | ||
| + | NAME USER TTYNAME TIME TIME (SECS) (SECS) SIZE(K) | ||
| + | prog1 user1 pts/2 12:02:48 12:05:22 154.12 144.55 10008.00 | ||
| + | prog1 user1 pts/2 12:05:42 12:07:19 97.16 111.80 7705.00 | ||
| + | prog1 user1 pts/2 12:09:27 12:10:04 37.20 32.22 4370.00 | ||
| + | prog1 user1 pts/2 12:10:14 12:14:42 268.50 233.17 10256.00 | ||
| + | </cli> | ||
| + | |||
| + | Topas | ||
| + | <cli prompt='>'> | ||
| + | [p630n02][/work]> topas -W | ||
| + | Topas Monitor for host: p630n02 Interval: 2 Mon Oct 25 15:13:04 | ||
| + | 2004 | ||
| + | WLM-Class (Passive) CPU% Mem% Disk-I/O% | ||
| + | app1 47 1 0 | ||
| + | app2 23 0 0 | ||
| + | app3 12 55 0 | ||
| + | System 0 7 0 | ||
| + | Shared 0 1 0 | ||
| + | Default 0 0 0 | ||
| + | Unmanaged 0 14 0 | ||
| + | Unclassified 0 0 0 | ||
| + | </cli> | ||
| + | |||
| + | wlmstat | ||
| + | <cli prompt='>'> | ||
| + | p630n02][/etc/wlm/current]> wlmstat | ||
| + | CLASS CPU MEM DKIO | ||
| + | Unmanaged 0 14 0 | ||
| + | Default 0 0 0 | ||
| + | Shared 0 1 0 | ||
| + | System 0 7 0 | ||
| + | app1 44 1 0 | ||
| + | app2 22 0 0 | ||
| + | app3 8 55 0 | ||
| + | TOTAL 74 64 0 | ||
| + | </cli> | ||
| + | |||
| + | <cli prompt='>'> | ||
| + | [p630n02][/etc/wlm/current]> wlmstat -Svc | ||
| + | CLASS tr i #pr CPU sha min smx hmx des rap urap pri | ||
| + | Unmanaged 0 0 0 0 -1 0 100 100 100 100 0 10 | ||
| + | Default 0 0 0 0 -1 0 100 100 100 100 0 0 | ||
| + | Shared 0 0 0 0 -1 0 100 100 100 100 0 0 | ||
| + | System 0 0 80 0 -1 0 100 100 100 100 0 0 | ||
| + | app1 0 1 2 43 -1 0 100 100 100 100 0 0 | ||
| + | app2 0 1 2 19 -1 0 100 100 100 100 0 0 | ||
| + | app3 0 1 1 06 -1 0 100 100 100 100 0 0 | ||
| + | </cli> | ||
| + | |||
| + | ===== Example of config ===== | ||
| + | |||
| + | <cli prompt='>'> | ||
| + | root@aixtest /etc/wlm/current> cat /etc/wlm/current/classes | ||
| + | System: | ||
| + | |||
| + | Default: | ||
| + | |||
| + | splunk: | ||
| + | inheritance = "yes" | ||
| + | authuser = "splunk" | ||
| + | |||
| + | root@aixtest /etc/wlm/current> cat /etc/wlm/current/limits | ||
| + | System: | ||
| + | memory = 1%-100%;100% | ||
| + | splunk: | ||
| + | CPU = 0%-10%;10% | ||
| + | |||
| + | root@aixtest /etc/wlm/current> cat /etc/wlm/current/rules | ||
| + | * class resvd user group application type tag | ||
| + | splunk - splunk - - - - | ||
| + | System - root - - - - | ||
| + | Default - - - - - - | ||
| + | |||
| + | root@aixtest /etc/wlm/current> cat /etc/wlm/current/shares | ||
| + | * IBM_PROLOG_BEGIN_TAG | ||
| + | </cli> | ||