博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AIX 5.3 AIO (Asynchronous I/O) Tuning
阅读量:2184 次
发布时间:2019-05-02

本文共 2733 字,大约阅读时间需要 9 分钟。

Here is a quick and easy way to tell if you have not allocated enough aioservers on your AIX 5.3 system. First you want to check how many you have configured currently:

$ lsattr -El aio0

autoconfig available STATE to be configured at system restart True
fastpath   enable    State of fast path                       True
kprocprio  39        Server PRIORITY                          True
maxreqs 12288     Maximum number of REQUESTS True
maxservers 120       MAXIMUM number of servers per cpu True
minservers 80        MINIMUM number of servers True

 

The ‘maxservers’ setting on a 4 CPU system would give you a maximum count of 480 aioserver kernel threads. If SMT is enabled - which makes it appear as if each CPU is 2 CPUs - the maximum number of aioserver kernel threads would be 960 (480 * 2). You can check to see if SMT is enabled as root by using the smtctl(5) command - you can also enable or disable it with the same command. If you don’t have root access, you can also find out by using the lparstat command, seen below from a 4way LPAR:

 

$ lparstat

System configuration: type=Dedicated mode=Capped smt=On lcpu=8 mem=16384

The ‘minservers’ setting is the total number of aioserver kernel threads that will start at boot - this is not a per CPU or per logical CPU value.

The ‘maxreqs’ setting is the maximum number of outstanding or pending requests that the kernel will allow at any one time.

aioserver kernel threads do not go away once started, until the system reboots. So, you can tell how many your applications have requested/required concurrently since boot by using the ps command:

 

$  ps -ek | grep aioserver | grep -v posix_aioserver | wc -l

960

It appears that all 960 aioservers have been started, so sometime between when the system booted and this very instant, something needed all of them - and possibly more . The ‘-k’ argument to the ps command lists kernel threads (also known as kprocs) in addition to user-space processes.

Another test is to see how much CPU time each of the aioserver. If all of the aioserver threads have a very similar amount of CPU time, and if the amount of CPU time consumed is significant - chances are you need to configure more of them. Depending on how long the OS has been running, you may need to add quite a few more.

 

$ ps -ek | grep aioserver | more

118880      -  1:31 aioserver
127062      -  1:32 aioserver

You can change the AIO parameters for your system with the chdev command on the aio0 pseudo-device, or by running smitty aio on AIX 5.3 systems - you can even use the poorly documented aioo command. An important thing to remember though - is that you can set the values online, with no interruption of service - BUT - they will not take affect until the next time the kernel is booted.

 

Some additional documentation is available at the locations below:

 

 

 

转载地址:http://tmmkb.baihongyu.com/

你可能感兴趣的文章
【LEETCODE】9-Palindrome Number
查看>>
【极客学院】-python学习笔记-Python快速入门(面向对象-引入外部文件-Web2Py创建网站)
查看>>
【LEETCODE】190-Reverse Bits
查看>>
【LEETCODE】67-Add Binary
查看>>
【LEETCODE】7-Reverse Integer
查看>>
【LEETCODE】165-Compare Version Numbers
查看>>
【LEETCODE】299-Bulls and Cows
查看>>
【LEETCODE】223-Rectangle Area
查看>>
【LEETCODE】12-Integer to Roman
查看>>
【学习方法】如何分析源代码
查看>>
【LEETCODE】61- Rotate List [Python]
查看>>
【LEETCODE】143- Reorder List [Python]
查看>>
【LEETCODE】82- Remove Duplicates from Sorted List II [Python]
查看>>
【LEETCODE】86- Partition List [Python]
查看>>
【LEETCODE】147- Insertion Sort List [Python]
查看>>
【算法】- 动态规划的编织艺术
查看>>
用 TensorFlow 让你的机器人唱首原创给你听
查看>>
对比学习用 Keras 搭建 CNN RNN 等常用神经网络
查看>>
深度学习的主要应用举例
查看>>
word2vec 模型思想和代码实现
查看>>