Java 进程占用更多内存并且机器停止工作

Java 进程占用更多内存并且机器停止工作

我是 Linux 新手,我正在使用 Ubuntu 14.04LTS,但我的机器突然停止工作。我运行

$ free -m

并得到结果

total       used       free     shared    buffers     cached
Mem:          7897       4318       3578        313         84       2054
-/+ buffers/cache:       2179       5717
Swap:         8013          0       8013

当我跑步时top -c我得到

15001 qi34      20   0 1681144 133824  11896 S  63.0  1.7   0:29.43         /usr/bin/java -Djdk.home= -Djruby.home=/home/qi34/.rvm/rubies/jruby-1.7.16 + 
15013 qi34      20   0 1681144 133288  11892 S  60.4  1.6   0:29.21         /usr/bin/java -Djdk.home= -Djruby.home=/home/qi34/.rvm/rubies/jruby-1.7.16 + 
15087 qi34      20   0 1681144 124008  11936 S  57.7  1.5   0:28.88         /usr/bin/java -Djdk.home= -Djruby.home=/home/qi34/.rvm/rubies/jruby-1.7.16 + 
14290 qi34      20   0 2632636 381032  13040 S  53.7  4.7   1:05.42         /usr/bin/java -Djdk.home= -Djruby.home=/home/qi34/.rvm/rubies/jruby-1.7.16 + 
14349 qi34      20   0 2632636 374516  13052 S  53.4  4.6   1:05.22         /usr/bin/java -Djdk.home= -Djruby.home=/home/qi34/.rvm/rubies/jruby-1.7.16 + 
14348 qi34      20   0 2632636 377124  13048 S  53.1  4.7   1:03.12         /usr/bin/java -Djdk.home= -Djruby.home=/home/qi34/.rvm/rubies/jruby-1.7.16 + 

此过程占用更多内存。我运行了killall java但无法解决我的问题。请提出建议。

答案1

尝试使用此命令来获取所有 Java 进程

ps -aux |grep java| cut -c10-15

然后使用杀死它们

kill -9 process id from the above command

现在找出罪魁祸首程序是什么。在安装任何东西之前 - 尝试阅读发行说明。您需要卸载它并删除此罪魁祸首程序创建的目录。如果您可以提供有关此程序的更多详细信息,那么可以提供具体答案。

答案2

您是否尝试过杀伤力选项?pkill 将向每个进程发送指定的信号(默认为 SIGTERM),而不是将它们列在 stdout 上,并且将立即终止与指定进程名称匹配的任何进程,除非该进程正在执行系统调用。在这里,试试这个

pkill -9 java

将尝试立即关闭名称匹配的所有进程Java 语言 然后你可以像这样再次检查

ps aux | grep java

让我知道事情的后续。!

答案3

上述进程因为 cron 作业而运行,这是我的错。在我的 rails 应用程序中,我运行了 cron 作业,这就是创建该进程的原因。

相关内容