我有一个情况,我们的服务器正在杀死一个我不想被杀死的进程。
我的理解是,这是因为内核过度分配了内存,当实际内存用尽时,就会强制终止进程。
我的理解是,在这种情况下,我可以通过调整以下值来影响内核关于要终止哪个进程的决定:
/proc/[pid]/oom_adj
本文解释了所有这些:
http://www.oracle.com/technetwork/articles/servers-storage-dev/oom-killer-1911807.html 然而,当我作为ubuntu用户尝试时,会出现“权限被拒绝”的错误:
echo -15 > /proc/5641/oom_adj -bash: /proc/5641/oom_adj: Permission denied
sudo echo -15 > /proc/5641/oom_adj 也会给出相同的错误 我的理解是,这是因为shell没有以root身份执行“>”命令。
然而,我熟悉的解决方法都会出现“没有这样的文件或目录”的错误。
/proc/[pid]/oom_adj
本文解释了所有这些:
http://www.oracle.com/technetwork/articles/servers-storage-dev/oom-killer-1911807.html 然而,当我作为ubuntu用户尝试时,会出现“权限被拒绝”的错误:
echo -15 > /proc/5641/oom_adj -bash: /proc/5641/oom_adj: Permission denied
sudo echo -15 > /proc/5641/oom_adj 也会给出相同的错误 我的理解是,这是因为shell没有以root身份执行“>”命令。
然而,我熟悉的解决方法都会出现“没有这样的文件或目录”的错误。
sudo bash -c ‘echo -15 > /proc/5641/oom_adj’
-bash: /proc/5641/oom_adj’: 没有那个文件或目录
sudo -s ‘echo -15 > /proc/5641/oom_adj’
-bash: /proc/5641/oom_adj’: 没有那个文件或目录
我做错了什么?