CS对接Server酱提醒时遇到的错误
  • 2019-07-05


0x01

今天空心发了个推文讲的是主机上线推送提醒,很方便。

正好想试试顺便之后写个sevebot的脚本来对接上线。

0x02

但是启动脚本的时候遇到了问题

发现这个错误的含义其实就是像它自己说的,没法分配内存了。

0x03

解决方案呢有两个:

第一个是用别的方法(例如 posix_spawn)替换掉 Java 的 fork/exec 方法从而申请到内存

第二个是开启系统的 Over-commit,跳过系统的可用内存检查直接分配

第一个方法比较麻烦,需要使用一个 custom JNI binding 去更改 Java 底层调用,所以先不尝试

第二个方法比较简单,但可能会导致依赖 C 语言 malloc() 的程序出错。

总之先试试第二个吧,毕竟就是改下系统变量的事儿


临时更改: echo 1 > /proc/sys/vm/overcommit_memory
永久更改: 编辑 /etc/sysctl.conf,修改参数 vm.overcommit_memory = 1,重启服务器或者用户重新登录

成功解决后成功使得CS对接server酱