2024

Systemd – Failed to reload daemon: Refusing to reload, not enough space available on /run/systemd

最近在配置一台128M内存运行debian 11系统的虚拟机时,遇到了修改systemd服务配置后reload时报错的情况,提示信息如标题所写,排查后发现debian系统安装后默认配置的/run空间大小是和系统内存数成比例的,而默认分配的16M空间,在执行“systemctl daemon-reload”时就会提示上面的错误信息,还会说明类似如下信息:

Currently, XX.XM are free, but a safety buffer of 16.0M is enforced.

解决的方法就是想办法加大这个/run就可以了,修改/etc/fstab,追加如下内容:

none /run tmpfs defaults,size=64M 0 0

这里指定了64M空间用于/run,按网上的说法这样应该可以应付绝大部分情况,之后执行:

mount -o remount /run

重新挂载/run,完成后可以用“df -hT”确认下当前/run的大小,增大后再次daemon-reload即可正常操作了。

VS 2022构建boost 1.57.0时的missing argument global-setup问题

最近要用到一个库,依赖boost,于是久违的下载了需求的最低版本1.57的boost拿来build一把,结果已开具就遇到了坑…

目前用的编译器是VS 2022的toolchain,于是打开x64 Native Tools命令行,进到boost源码路径,简单看了下说明,敲了“bootstrap.bat”,提示:

Building Boost.Build engine
cl: 命令行 warning D9035 :“GZ”选项已否决,并将在将来的版本中移除
cl: 命令行 warning D9036 :使用“RTC1”而不使用“GZ”
cl: 命令行 warning D9002 :忽略未知选项“/MLd”

Bootstrapping is done. To build, run:

    .\b2

To adjust configuration, edit 'project-config.jam'.
Further information:

    - Command line help:
    .\b2 --help

    - Getting started guide:
    http://boost.org/more/getting_started/windows.html

    - Boost.Build documentation:
    http://www.boost.org/boost-build2/doc/html/index.html
Continue reading…