我通过我的应用程序服务器上的top命令观察到在根级别运行的Java进程,是否会导致性能问题?

时间:2016-12-31 07:37:22

标签: linux performance performance-testing

我们正在运行负载测试并同时执行top命令并观察到Java进程(在根级别运行)消耗了204℅cpu,即使我们在服务器上只运行了10℅的预期负载。

我的一位同事也表示,Java进程不应该在根级别运行,因为这会导致性能问题。

我尝试搜索互联网,但找不到任何说Java进程不应该在根级别运行的内容。

专家注意事项: - 请原谅我缺乏知识,请不要下载或阻止这个问题。

top命令的屏幕截图:

enter image description here

2 个答案:

答案 0 :(得分:0)

这是不正确的 - 以root身份运行进程不会影响性能,但可能会影响安全性。

之所以每个人都说不以root用户身份运行你的进程,除非绝对必要,因为root用户拥有整个磁盘的权限,以及许多其他东西:外部设备,硬件,进程等。

运行以root身份与世界交互的代码意味着如果任何人都可以在您的代码/项目/流程/中找到漏洞,那么可以造成的损害/伤害的数量可能超过可能的范围。非root用户。

答案 1 :(得分:0)

尝试运行以下命令以查找树结构中的所有进程。

ps -e -o pid,args --forest

从输出中,您将能够找出那些在根级别运行的java进程或其他进程是其子级。对于前者有时在测试一些脚本时,我们自己用sudo触发这些脚本,这可能反过来启动java实例。