systemd占用内存过高
首先先反馈一下这个问题:
这个问题存在于Centos7.2操作系统,因为Centos7系统使用了Systemd,然后也不是都这样,就是现在遇到的是个别的业务上面跑的java程序的机器上面,systemd进所占内存会日益增加,导致应用能够使用的内存越来越小。
下面是内存占用截图:
#通过top可以看到systemd系统内存占用已经非常高了。
https://bugzilla.redhat.com/show_bug.cgi?id=1308780 #就是这个bug
解决办法:
如果是永久的解决办法呢
就应该是别用Centos7.2操作系统了使用更高级的版本或者升级systemd(# yum install systemd ),因为看上面哪个连接介绍Centos7.3不存在这个问题了,这个问题是systemd-219-30以前存在的问题。
#我没有测试Centos7.3,我直接将yum源指向到了Centos7.4,将systemd的版本升级到了systemd-219-42.el7_4.7.x86_64(当然这样就只升级一个软件包组系统就不用动了,如果发现还占用呢重启下以后就不会再占用了)。
如果是临时解决呢?
#systemctl daemon-reexec #执行这个命令将你的内存占用释放就行了
#可以看到内存立马释放掉了不在占用那么高了。
#systemctl daemon-reload #对于这种内存占用问题,这个命令是没用的,这个命令只是你更改了配置让配置重新加载一下生效而已。
区别就是:
#daemon-reload将重新加载所有单元文件,不是systemd本身的配置。# systemctl daemon-reexec将重新执行systemd并导致其消化新配置的过程。
https://blog.mallux.me/2017/02/13/systemd/ #介绍的非常好,我这里就先偷点懒先不记录systemd了。