在 CentOS 6.6(虚拟机)中使用 semanage 但显示“已杀死”(已解决)

在 CentOS 6.6(虚拟机)中使用 semanage 但显示“已杀死”(已解决)

抱歉,重复了,因为 stackoverflow 不会回答该问题并建议在此处提问。

我有一个 CentOS 6.6 虚拟机(在 Eucalyptus Private Cloud 中启动)。我猜 Amazon Instance 可能也有这个问题(https://www.centos.org/forums/viewtopic.php?f=51&t=51976)。我尝试将端口 250 添加到 ssh,将端口 12345 添加到 http_port_t。但我收到以下错误:

[root@ip-172-16-1-163 ~]# semanage port -a -t http_port_t -p tcp 12345
Killed
[root@ip-172-16-1-163 ~]# semanage port -a -t ssh_port_t -p tcp 250
Killed

虚拟机中的 selinux 是宽容的。

输出非常不正常。我想知道这是什么原因造成的,如何调试错误?

再次更新:我使用 t1.micro 作为实例类型,它没有太多内存。所以 semanage 失败了。现在我改用大内存类型,现在可以正常工作了。

答案1

更新:

这是因为内存不足。虚拟机将终止运行时间最长的命令(参见:https://serverfault.com/questions/268288/most-long-running-commands-instantly-killed-on-amazon-ec2-ubuntu-10-04):

使用 dmesg 命令可以追踪终止进程的原因:

Out of memory: Kill process 16315 (semanage) score 649 or sacrifice 
child Killed process 16315, UID 0, (semanage) total-vm:347604kB, 
anon-rss:165468kB, file-rss:4kB

再次更新:

我使用 t1.micro 作为实例类型,它没有太多内存(512M)。所以 semanage 失败了。现在我改用大内存类型,现在可以正常工作了。

此外我认为从交换中添加更多内存也应该可行。

相关内容