How to increase disk cache and maximize RAM usage?
I'm running Red Hat Entreprise 3 on core 2.4.21-47Elsmp, on 6 hardware identical machines. They should also be configured identically, but I have reason to suspect they are not.
I'm working on a time-critical application, using the NI DAQ boards. When I verified my program at home, I had no problems, but when running them on 4 of the other identical machines, it showed errors that we didn't read the buffer fast enough. I'm using the Ni DAQmx drivers, that copy the FIFO from PCI-connected DAQ boards through DMA, with even intervalls. It then sends a callback function to my program to read the DMA buffer. It is this reading from the DMA buffer that is taking too long time.
My application is running 6 independent C-threads, controlled by a Python script. I know the python script is not the problem, since I've verified by running the 6 C-binaries without the script, letting the OS control them.
All the machines are running with 3GHz and have 2 GB RAM. On my home machine where the application is working, I can see that 1,5 GB is used as disk cache. Also the free command shows that we are using up over 90 % of the RAM, which is good.
On the 4 machines where I get timing problems, I see that only 15 % is used as disk cache and overall, only 30 % of the RAM is used.
I have a sixth machine that works almost ok, and that one has a disk cache of 650 MB and uses 75 % of the RAM.
Using the RAM for disk cache speeds up the application.
All the settings under /proc/sys/vm are identical between the machines.
What configuration can differ? Is there any setting missing? I'm really stuck and would appreciate all the help I can get.
Waiting for your reply!