Parameters adjusted at startup
Posted in 2026
Jacob Salomon saw startup messages that DIRECT_IO, VPCLASS and DS_NONPDQ_QUERY_MEM were adjusted on a new Linux server. Art Kagel said DIRECT_IO 2 is AIX-only (1 enables direct IO; 5 adds temp dbspaces) and noage applies only to cpu VPs. He said direct IO applies to filesystem chunks, not block devices. Jacob set DIRECT_IO to 1 without restarting.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: Storage & Space Management, Server Administration, Platform-Specific Issues
Greetings, Y'all. (Spell-checker does not object to "Y'all". Cute.)
I have a newly configured toy RH Linux system at work. When I bounced it this morning, watching the online log, the first lines were:
Parameter's user-configured value was adjusted. (DIRECT_IO)
Parameter's user-configured value was adjusted. (VPCLASS)
Parameter's user-configured value was adjusted. (DS_NONPDQ_QUERY_MEM)
It does not state what it changed from and to. (There MUST be a feature request to fill that knowledge!)
Here are those params from the $ONCONFIG:
DIRECT_IO 2
DS_NONPDQ_QUERY_MEM 51240 # Copied from prod server
VPCLASS cpu,num=1,noage
VPCLASS aio,num=3,noage
VPCLASS idsxmlvp,num=1
VPCLASS msc,num=2,noageSo I ran a simple query on sysmaster:sysconfig to get these and see what the server has done to them:
I see it has turned off DIRECT_IO. Could this be because the chunks are on block devices? (Linux is notoriously unfriendly to character devices.)
I also see it has removed the noage from aio and msc VP classes
Finally my main question:
Why did it turn of DIRECT_IO?
I mentioned block devices but is that actually the reason?
Smaller issue:
Why did it turn off noage
on aio and msc VPclasses?
Thanks for pointers here.
------------------------------
+-----------------------------------------------------------+
| I am pleased to report that I had no problems today. |
| I had only issues, opportunities, challenges and valuable |
| learning experiences. |
+------------------------------------------ Jacob S --------+
------------------------------
Jacob: DIRECT_IO setting of "2" is ONLY for AIX to enable CONCURRENT IO which is required for KAIO service on AIX. Setting of '1' turns on direct io, so even on AIX the correct setting would be '3' (1 + 2 - duh). In recent releases of 14.10 and 15.0 you can also add the '4' flag to enable direct io for temp dbspaces. It was turned off because you didn't actually turn it on with '2'. The vpclass complaint is about the vpclass for aio vps. You cannot set noage for the aio vps, only for cpu vps (even private cpu vps are OK, but not aio vps). Note that the other vpclass settings were not modified. Art ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------
The message log should tell you about DIRECT_IO AFAIR noage is not applicable AIO/MISC - I think it is in the manual
@Art - a question to clarify about the new flag on 14.10 and 15.10. On a Linux box, does this mean that we should set DIRECT_IO to 5 (1 + 4) to get direct IO for regular and temp spaces? ------------------------------ mark collins ------------------------------
Yes, exactly. That MAY allow you to reduce the number of AIO VPs that you run as well. Art Art S. Kagel, President and Principal Consultant ASK Database Management www.askdbmgt.com Blog: http://informix-myview.blogspot.com/ Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves.
Thanks all. I have changed that DIRECT_IO parameter to 1 but have bounced the server. Not important enough yet. There was also an issue about huge buffers. I don't have that info in front of me but my sysadmin adjusted the kernel parameter to some insane size so it will never bother me again. ------------------------------ Jacob Salomon --- Nobody goes there anymore, it's too crowded. --Attr: Yogi Berra ------------------------------
Sorry, Y'all. I had meant to say "But have NOT bounced the server"
Just chiming in with the info in onconfig about DIRECT_IO 5 (Option 1 + 4). ################################################################### # AIO and Cleaner-Related Configuration Parameters ################################################################### # VPCLASS aio - Configures the AIO VPs. The format is: # VPCLASS aio,num=<#>[,max=<#>][,aff=<#>] # Example: # VPCLASS aio,num=1 # CLEANERS - The number of page cleaner threads # DIRECT_IO - Set of flags that may be combined to control "special" I/O # 0x0 = Neither direct I/O nor concurrent I/O is used # 0x1 = Direct I/O is used if available # 0x2 = Concurrent I/O is enabled (on AIX operating systems) # 0x4 = Special I/O is enabled for TEMP DBspaces ################################################################### ------------------------------ Daniel Karwatka ------------------------------
On my new RH Linux system, I noticed that at startup, several parameters I set in
$ONCONFIG
were adjusted automatically. In particular,
DIRECT_IOwas turned off, and the
noage
flag was removed from
aio
and
msc
VP classes. I suspect it might be related to using block devices, but I'm not certain. Can anyone clarify why DIRECT_IO gets disabled on block devices and why
noage
is removed from certain VP classes at startup?"
------------------------------
james colin
------------------------------
Colin: I do not know why DIRECT_IO was turned off, though on general direct io only applies to filesystem chinks not block or characyer drvice based chunks. As for moage, it only appliesvto the CPU VPs not to aio or msc VPs. That has always been true. Art Art S. Kagel, President and Principal Consultant ASK Database Management www.askdbmgt.com Blog: http://informix-myview.blogspot.com/ Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves.
Is libaio installed ?
Paul Responded to Colin:
> Is libaio installed ?
I had not thought of that but you did get me to check my own Linux box:
# find / -name libaio\\*|xargs ls -ltd
drwxr-xr-x. 2 root root 4096 Feb 27 2025 /usr/share/licenses/libaio
lrwxrwxrwx. 1 root root 15 Aug 9 2021 /usr/lib64/libaio.so.1 -> libaio.so.1.0.1
-rwxr-xr-x. 1 root root 16448 Aug 9 2021 /usr/lib64/libaio.so.1.0.0
-rwxr-xr-x. 1 root root 16448 Aug 9 2021 /usr/lib64/libaio.so.1.0.1Well it is certainly installed on my Linux host. But Art's explanation seems to cover the issue: We need DIRECT_IO mainly if we are using flat file chunks. I suppose if I h configured just one of my chunks as a flat file (or symlink thereto) it would not have turned off DIRECT_IO. That's my guess.
-- Jacob S
------------------------------
+-----------------------------------------------------------+
| I am pleased to report that I had no problems today. |
| I had only issues, opportunities, challenges and valuable |
| learning experiences. |
+------------------------------------------ Jacob S --------+
------------------------------