mmap()在内存小时的性能
本人做流媒体开发的,工作中需要将mpg文件转化成一定格式发送到网络,由于文件太大,程序用mmap()来实现文件的读取,但在实测过程中发现一个大问题,如下:
服务器配置:
CPU:两颗至强3.0
内存:2G
磁盘:3个SATA硬盘组成磁盘阵列
测试时同时运行30个播放程序读取30个不同的mpg文件,程序起初运行画面播放非常流畅,几分钟过后,内存剩下15MB左右时,mmap()就开始不停的进行页面置换,将新的数据读入内存,老的数据置换出去,这时的磁盘利用率不到1%,但CPU耗在iowait上的时间却有90%多
各位大侠我该怎么办,如果不用内存映射还有没有其他的办法处理大文件???