Replacements for the vmtune and schedtune commands

The vmtune and schedtune commands were replaced by the vmo, ioo, and schedo commands. Both the vmo and ioo commands together replace vmtune, while the schedo command replaces schedtune. All existing parameters are used by the new commands.

The ioo command manages all the I/O-related tuning parameters, while the vmo command manages all the other Virtual Memory Manager, or VMM, parameters previously managed by the vmtune command. All three commands are part of the bos.perf.tune fileset, which also contains the tunsave, tunrestore, tuncheck, and tundefault commands. The bos.adt.samples fileset still includes the vmtune and schedtune commands, which are compatibility shell scripts calling the vmo, ioo, and schedo commands as appropriate. These compatibility scripts only support changes to parameters which can be changed interactively. Parameters that need bosboot and then require a reboot of the machine to be effective are no longer supported by the vmtune script. To change those parameters, users must now use the vmo -r command. The vmtune command options and parameters in question are as follows:

The previous vmtune option Usage New command
-C 0|1 page coloring vmo -r -o pagecoloring=0|1
-g n1 -L n2 large page size number of large pages to reserve vmo -r -o lgpg_size=n1 -o lgpg_regions=n2
-v n number of frames per memory pool vmo -r -o framesets=n
-i n interval for special data segment identifiers vmo -r -o spec_dataseg_int=n
-V n number of special data segment identifiers to reserve vmo -r -o num_spec_dataseg=n
-y 0|1 p690 memory affinity vmo -r -o memory_affinity=0|1
The vmtune and schedtune compatibility scripts do not ship with AIX®. You can refer to the following tables to migrate your settings to the new commands:
The schedtune option The schedo equivalent Function
-a number -o affinity_lim=number Sets the number of context switches after which the SCHED_FIF02 policy no longer favors a thread.
-b number -o idle_migration_barrier=number Sets the idle migration barrier.
-c number -o %usDelta=number Controls the adjustment of the clock drift.
-d number -o sched_D=number Sets the factor used to decay CPU usage.
-e number -o v_exempt_seconds=number Sets the time before a recently suspended and resumed process is eligible for resuspension.
-f number -o pacefork=number Sets the number of clock ticks to delay before retrying a failed fork call.
-F number -o fixed_pri_global=number Keeps fixed priority threads in the global run queue.
-h number -o v_repage_hi=number Changes the system-wide criterion used to determine when process suspension begins and ends.
-m number -o v_min_process=number Sets the minimum multiprogramming level.
-p number -o v_repage_proc=number Changes the per process criterion used to determine which processes to suspend.
-r number -o sched_R=number Sets the rate at which to accumulate CPU usage.
-s number -o maxspin=number Sets the number of times to spin on a lock before sleeping.
-t number -o timeslice=number Sets the number of 10 ms time slices.
-w number -o v_sec_wait=number Sets the number of seconds to wait after thrashing ends before adding processes back into the mix.
The vmtune option The vmo equivalent The ioo equivalent Function
-b number   -o numfsbuf=number Sets the number of file system bufstructs.
-B number   -o hd_pbuf_cnt=number This parameter has been replaced with the pv_min_pbuf parameter.
-c number   -o numclust=number Sets the number of 16 KB clusters processed by write behind.
-C 0|1 -r -o pagecoloring=0|1   Disables or enables page coloring for specific hardware platforms.
-d 0|1 -o deffps=0|1   Turns deferred paging space allocation on and off.
-e 0|1   -o jfs_clread_enabled=0|1 Controls whether JFS uses clustered reads on all files.
-E 0|1   -o jfs_use_read_lock=0|1 Controls whether JFS uses a shared lock when reading from a file.
-f number -o minfree=number   Sets the number of frames on the free list.
-F number -o maxfree=number   Sets the number of frames on the free list at which to stop frame stealing.
-g number -o lgpg_size number   Sets the size, in bytes, of the hardware-supported large pages
-H number   -o pgahd_scale_thresh=number Sets the number of free pages in a mempool under which the system scales back read-ahead.
-i number -r -o spec_dataseg_int=number   Sets the interval to use when reserving the special data segment identifiers.
-j number   -o j2_nPagesPerWriteBehindCluster= number Sets the number of pages per write-behind cluster.
-J number   -o j2_maxRandomWrite=number Sets the random-write threshold count.
-k number -o npskill=number   Sets the number of paging space pages at which to begin killing processes.
-l number -o lrubucket=number   Sets the size of the least recently used page replacement bucket size.
-L number -o lgpg_regions=number   Sets the number of large pages to be reserved.
-M number -o maxpin=number   Sets the maximum percentage of real memory that can be pinned.
-n number -o nokilluid=number   Specifies the uid range of processes that should not be killed when paging space is low.
-N number   -o pd_npages=number Sets the number of pages that should be deleted in one chunk from RAM when a file is deleted.
-p number -o minperm%=number   Sets the point below which file pages are protected from the repage algorithm.
-P number -o maxperm%=number   Sets the point above which the page stealing algorithm steals only file pages.
-q number   -o j2_minPageReadAhead=number Sets the minimum number of pages to read ahead.
-Q number   -o j2_maxPageReadAhead=number Sets the maximum number of pages to read ahead.
-r number   -o minpgahead=number Sets the number of pages with which sequential read-ahead starts.
-R number   -o maxpgahead=number Sets the maximum number of pages to be read-ahead.
-s 0|1   -o sync_release_ilock=0|1 Enables or disables the code that minimizes the time spent holding the inode lock during sync.
-S 0|1 -o v_pinshm=0|1   Enables or disables the SHM_PIN flag on the shmget system call.
-t number -o maxclient%=number   Sets the point above which the page stealing algorithm steals only client file pages.
-T number -o pta_balance_threshold= number   Sets the point at which a new PTA segment is allocated.
-u number -o lvm_bufcnt=number   Sets the number of LVM buffers for raw physical I/Os.
-v number -r -o framesets=number   Sets the number of framesets per memory pool.
-V number -r -o num_spec_dataseg= number   Sets the number of special data segment identifiers to reserve
-w number -o npswarn=number   Sets the number of free paging space pages at which the SIGDANGER signal is sent to processes.
-W number   -o maxrandwrt=number Sets a threshold for random writes to accumulate in RAM before pages are synchronized to disk using a write-behind algorithm.
-y 0|1 -r -o memory_affinity=0|1   This parameter does not exist. Memory affinity is always on if the hardware supports it.
-z number   -o j2_nRandomCluster=number Sets random write threshold distance.
-Z number   -o j2_nBufferPerPagerDevice= number Sets the number of buffers per pager device.