最近,笔者的技术群里有人问了一个有趣的技术话题:单核CPU,1G内存的超低配机器,怎么做JVM调优?
这实际上是两个问题。单核CPU的超低配机器,怎么充分利用CPU?单核CPU,1G内存的超低配机器,怎么做JVM调优?
怎么充分利用CPU?
这个问题不能一概而论,要结合具体场景。对于IO密集型和CPU密集型的应用调优的方法会截然不同。
IO密集型:有频繁外部设备访问的应用,如磁盘访问和网络访问等。由于CPU性能相对硬盘读写和网络访问要好很多,系统执行任务时,大部分的情况是CPU在等I/O(磁盘/网络)的读/写操作,在发生I/O操作时cpu处于等待状态,这就可能导致cpu的利用率不高。
CPU密集型:以计算为主,很少有磁盘和网络访问的应用。这种任务CPU一直在运行,CPU的利用率很高。
在给出CPU调优结论之前,先花两分钟熟悉一下I/O基础。
所谓的I/O(Input/Output)操作实际上就是输入输出的数据传输行为。程序员最