抱歉,重复了,因为 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 失败了。现在我改用大内存类型,现在可以正常工作了。
此外我认为从交换中添加更多内存也应该可行。