当我在Python中启动一个.jar时,我会将filename作为该执行.jar文件的参数。例如:java -jar xx.jar -file xx.file
我刚注意到,当Java进程尝试读取xx.file作为i / o读取时,任务管理器的CPU使用率将降低30%。
所以我想,如果我们可以预先将文件读入内存,mmap可以这样做吗?
有任何改善建议吗?如果我有超过50个java.exe进程,CPU使用率和i / o问题对我来说应该是个大问题。
答案 0 :(得分:1)
这根本不像是一个蟒蛇问题。但...
如果您有50个进程读取同一个文件,您的操作系统很可能已经为您缓存此文件(如果有足够的空间来缓存它的话)
这应该消除I / O(磁盘)成本的问题。 但是你说在任务管理器中读取会导致30%的CPU使用率。你知道这个CPU时间真正用于什么吗?是用于阅读文件吗? JIT编译你的java代码?刚刚启动JVM:s?
在尝试解决问题之前,您应确保确切知道问题所在。