如果我在服务器机器linux上通过nice更改JVM进程优先级,会好吗?我希望我的JVM进程使用来自OS的最大资源。
标准的做法是什么?人们是否专门为进程对linux操作系统进行调优以获得最大的性能?
发布于 2014-08-24 17:43:39
通常的公平共享方法对于大多数工作负载都很有效,并且为性能调整优先级是不常见的。调整过程优先级可能会产生不良的副作用。在某些情况下,例如批处理,应用程序会被特别处理。
您需要根权限才能给JVM提供高于正常优先级的权限。如果进程是I/O绑定的,这可能是可以接受的。如果该进程是CPU绑定的,您可能会发现它会降低所有其他进程的性能。这将包括您用来提高优先级的过程。
nice
批处理过程很常见,因此它们不使用交互过程可能使用的资源。在确定是否应该增加CPU速度时,可以将CPU速度监视器设置为忽略这些进程。如果批处理过程被绑定,这通常是在运行该进程的脚本中完成的。
现代内核还允许您为流程设置IO优先级。检查man ionice
。如果JVM是IO绑定的,这可能是合适的。
我确实运行了我的boinc
处理程序。这是因为我只想使用CPU周期,否则这些进程将不使用CPU周期。它们通常使用超过90%的可用周期。
发布于 2014-08-24 15:42:11
设置一个有利的“良好”级别将使进程优先级CPU时间超过其他进程。只有在CPU功能强大的基础上,你才能达到某种“性能”。
https://serverfault.com/questions/623656
复制相似问题