Is there an intelligent way how to restrict buffering/caching in a Linux system and to make it writing on disk more or less continuously?
I am asking because I am running several Linux virtual machines in one physical Linux box. The default buffering/caching mechanism of Linux causes that all those virtual machines are caching writings to disk until some moment when they decide to flush everything out. The problem happens when several virtual boxes start to flush their buffers at the same time. At this moment the hard disk on the physical machine becomes overcharged and I am facing a 90% of wa (Wait for I/O) wasted CPU time on physical machine. All virtual machines freezes for a few seconds causing that some TCP/IP connections are broken, etc.
I would like to disable caching in virtual sub-systems and to do all the caching in the physical system, because it is accessing physical disk. Any hint?
ADDED: Disks for virtual machines were created by going through workstation menus usually accepting (if I remember well) default values. Disks images are stored in files like XXX-s000.vmdk until XXX-s100.vmdk. They are seen from virtual Linux boxes as scsi-drives.
I am using vmware workstation 10 for virtualization. As far as I know, no vmware guest tools were installed on those machines.