Xtreme I/O Driver
The Pervasive PSQL 32-bit Server product for Windows includes an optional database accelerator called Xtreme I/O (XIO). If the system meets the minimum requirements for XIO, you may install this option using the Custom installation. XIO increases database performance by accelerating disk access time for Pervasive PSQL data files.
XIO and the database engine work together to boost performance. The engine notifies XIO when a data file is opened. From that point on, XIO accelerates disk access for the data file. XIO works transparently—no intervention is required by a user or an application.
XIO also lets you exclude data files that you do not want to accelerate. Specifying exclusions is as simple as updating a text file and restarting the database engine.
The following topics provide additional details about XIO:
See also the Pervasive PSQL Technical Papers listed on the Pervasive Web site for the XIO technical paper. The paper covers technical details beyond the scope of this section.
Considerations
Typically, XIO increases performance for most applications with large data sets. The following table lists considerations for the use of XIO.
System Requirements
XIO can be installed only on platforms that meet the following requirements:
After installing XIO, you need to ensure the following system configurations:
XIO Memory Cache
XIO uses block-level caching, but only for the specific files that the database engines needs to accelerate. The XIO memory cache is dedicated to Pervasive PSQL data files. You cannot, for example, use XIO as a generic disk access accelerator for non-Pervasive files.
XIO manages its cache using sophisticated tracking and caching algorithms that are beyond the discussion scope of this section. XIO’s use of memory, however, can help you better understand how the driver functions.
Memory Usage
XIO can use extended memory, standard memory, or a combination of the two.
Extended Memory
XIO first uses extended memory for its cache if extended memory is available. Note that extended memory is also referred to as physical address extension (PAE) memory. Extended memory is any RAM above 4 GB.
XIO reserves as much extended memory as the operating system allows up to the value specified in the registry for MaxPAEMemMB. See Registry Settings. XIO retains the extended memory until the system is shut down. That is, if the cache is held totally in extended memory, the cache size remains static and does shrink or expand.
Standard Memory
If extended memory does not exist, XIO acquires its cache from standard memory. Standard memory is any RAM up to 4 GB. With standard memory, XIO balances the memory demands of the database engine with the memory requirements for the entire system. The XIO cache shrinks and expands as other system resources also acquire and release memory.
If the Registry value for MaxCacheSizeMB is -1 (the default), XIO XIO adjusts, by increasing or decreasing, the size of its cache based on the current state of the system. The maximum cache size in this instance is approximately 80% of physical memory.
If MaxCacheSizeMB is set to a number of megabytes, XIO expands only up to that value as the operating system allows.
If MaxCacheSizeMB is set beyond the amount of memory installed, an error is written to the Windows Event Log and the driver does not load. See Event Log Messages.
MaxCacheSizeMB is the maximum size of the cache based on the combination of standard memory and PAE memory, if PAE memory exists. The cache is not allowed to grow beyond the value of MaxCacheSizeMB regardless from the memory originates. See Registry Settings.
Combination Memory
If extended memory exists, but the operating system cannot allocate the value specified for MaxPAEMemMB totally from it, XIO uses a combination of extended and standard memory. XIO consumes extended memory above 4 GB as available from the operating system to fulfill the MaxCacheSizeMB setting before it uses standard memory below 4 GB. The portion of the XIO cache that resides in standard memory shrinks and expands as required.
Registry Settings
The Windows Registry contains the configuration parameters for XIO. The majority of parameters are reserved and must not be altered.
However, the following registry entries are configurable: MaxCacheSizeMB and MaxPAEMemMB.
1HKEY_LOCAL_MACHINE\SOFTWARE\PERVASIVE SOFTWARE\XIO
*Caution: Do not modify any XIO registry entries other than those listed in the table above. Unpredictable results can occur.

Editing the registry is an advanced procedure. If done improperly, the editing could cause your operating system not to boot. If necessary, obtain the services of a qualified technician to perform the editing.
Frequently Asked Questions
This section discusses some of the common questions about XIO.
No. Xtreme I/O must not be installed if Pervasive PSQL is being used in a clustering environment. A node with XIO installed can hang when the machine comes online through a failover and leave the shared storage inaccessible.
Therefore, on the installation Setup Type dialog for Pervasive PSQL, select Custom. If “Pervasive Xtreme I/O” displays as an available installation option, click that option. Select “This feature will not be available.”
No. Xtreme I/O must not be installed if Pervasive PSQL is being used on a Virtual Machine.
Run the utility Xiostats. Click View then Open Files.
Utilities
XIO provides two utilities for working with the driver: xiomgr and xiostats.
Xiomgr
Availability
 
Description
Xiomgr manages the XIO driver.
Synopsis
xiomgr -<query | start | stop | enable | disable | help>
Options
 
 
Xiostats
This utility displays statistical information about the XIO cache.
Note that Xiostats is primarily an advanced utility intended for users who have a thorough understanding of statistics and viewing graphed data. Even so, the utility also provides some basic statistical information. See also Frequently Asked Questions. for some general tips on using Xiostats.
Statistics
The main purpose of Xiostats is to provide statistical information about XIO and the XIO cache. This information appears as a matrix in the main window of the utility. The following table explains the statistics.
Tour of Features
The following table provides a brief tour of the utility features that support the statistical reporting.
Do not modify any XIO registry entries except the two listed under Registry Settings. Unpredictable results can occur.
The Parameters command is accessed from the View menu.
The Opened Files command is accessed from the View menu.
Exclusions File
XIO includes a text file, xioexclude.lst, that allows you to specify data files not to accelerate. Typically, you do not need to add exclusions. However, if you choose to exclude files, follow these steps:
1
By default, the file is located in Pervasive Software\PSQL under %allusersprofile%. Ensure that you search for hidden files because, by default, the operating system hides certain folders under %allusersprofile%.
2
3
Pvsw.log Message
During installation of the database engine, a message is written to the pvsw.log file if XIO is installed and the database engine is able to cache files in the XIO cache. The log file contains the following message:
The MicroKernel has acquired an active linkage to the XIO Cache driver.
*Note: If XIO is installed but the pvsw.log does not contain the message, then the database engine is unable to communicate with XIO and no files will be cached. One possible corrective action is to stop and then start the transactional service. (See Starting and Stopping the Server Engine on a Windows Server in Pervasive PSQL User's Guide.) Upon restart, if the database engine can communicate with XIO, the message is written to pvsw.log.
Event Log Messages
XIO writes its error messages to the Windows Event Log as explained in the following table.
Check the setting MaxCacheSizeMB and adjust as required based on the amount of system memory and the data set.
Troubleshooting XIO
This section offers suggestions on what to do if you encounter problems using XIO.
2. At a command prompt, execute the command xiomgr -disable to prevent the XIO driver from loading.