我试图在一台运行 centos 6.6 的小型基本库存数字海洋服务器上运行 apache kafka。我不确定这个问题是否是 kafka 特有的。当我以 root 用户身份运行 kafka 时,一切都运行正常。但是,当我尝试以我创建的名为 kafka 的非 root 用户身份运行时,我在启动时始终收到 Java 内存不足异常,如下所示
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)
什么会导致这种行为?我如何确保该过程在非 root 用户帐户下运行?
该机器总内存为 1GB,交换空间为 1GB。kafka 用户是作为系统用户创建的(如果相关的话)。
据我所知,没有与此问题相关的 ulimits
更新
我可以通过KAFKA_HEAP_OPTS='-Xmx256M -Xms128M
在命令前面添加来使其工作,但仍然不清楚为什么非 root 用户访问的内存比 root 用户少。