Below are some details of performance tuning that I have come across in relation to different situations, while while might be true in one case may not work for another. So please be sure to perform testing on your environment before making these recommendations.
Hardware memory prefetch helps to improve the performance of applications that reference memory sequentially by prefetching memory.
Hardware memory pre-fetch considerations - There might be adverse performance effects, depending on the workload characteristics.Determine whether to disable hardware memory pre-fetch in a production environment after sufficient testing with the application.
In this case it was a JAVA application, which is recommended that you turn off the hardware memory pre-fetch. The example below shows how to disable across a reboot using the -b flag, the command creates an entry in the /etc/inittab file -
# dscrctl -n -b -s 1
The value of the DSCR OS default will be modified on subsequent boots
# dscrctl -q
Current DSCR settings:
Data Streams Version = V2.06
number_of_streams = 16
platform_default_pd = 0x5 (DPFD_DEEP)
os_default_pd = 0x1 (DPFD_NONE)
# cat /etc/inittab|grep dscrset
dscrset:2:once:/usr/sbin/dscrctl -n -s 1 >/dev/null 2>/dev/console
IBM Java can take advantage of medium (64K) and large (16M) page sizes that are supported by the current AIX versions and POWER processors. Using medium or large pages instead of the default 4K page size can significantly improve application performance. The performance improvement of using medium or large pages is a result of a more efficient use of the hardware translation caches which are used when translating application page addresses to physical page addresses. Applications that are frequently accessing a fast amount of memory benefit most from using pages sizes that are larger than 4K
- create 16MB large page objects and pin memory, when done should use -Xlp on Java cmd line