开发者
资源
[ExaGear] 二进制翻译涉及的systemd服务,及启停方式
[ExaGear] 二进制翻译涉及的systemd服务,及启停方式
发表于2024/05/29
4061

安装ExaGear以后,有两组,一共四个相关的systemd服务会被同时安装。在排查部署问题的时候,首先需要检查这些服务的状态是否正常。

ExaGear已安装的情况下,可以用如下命令查看:

$ systemctl list-units |grep exagear 

  exagear-x86_32-binfmt.service                                                                    loaded active exited    Setup ExaGear as binfmt_misc handler for x86_32 binaries 

  exagear-x86_32-opt.service                                                                       loaded active running   Launch ExaGear optimizer 

  exagear-x86_64-binfmt.service                                                                    loaded active exited    Setup ExaGear as binfmt_misc handler for x86_64 binaries 

  exagear-x86_64-opt.service                                                                       loaded active running   Launch ExaGear optimizer 

binfmt是Linux系统自带的特性,它的作用是将特定的二进制文件转交给某个用户态的程序处理(如虚拟机或模拟器),而非默认的Linux加载器。

基于这个特性,ExaGear将x86可执行程序的文件类型注册到binfmt服务中,从而在ARM原生命令行运行x86程序时,ExaGear翻译引擎会被自动拉起,执行翻译任务。

通常在多节点环境部署ExaGear时,确保上述两个binfmt服务处于“active”状态。

启停,及检查状态的方式:

systemctl start exagear-x86_*-binfmt.service

systemctl stop exagear-x86_*-binfmt.service

systemctl status exagear-x86_*-binfmt.service

另外,ExaGear在实现二进制翻译的基础上,为进一步提高翻译质量,引入了动态二次优化。

上述两个opt服务就是用来实现这个优化功能的,它们分别对应两个Linux守护进程,在x86二进制翻译运行时寻找并实现可能的优化。

ExaGear的配置项EXAGEAR_USE_OPT(位于/etc/exagear.conf)可启用、停用动态二次优化功能。当启用时,需要确保上述两个opt服务处于“active”状态。

启停,及检查状态的方式:

systemctl start exagear-x86_*-opt.service

systemctl stop exagear-x86_*-opt.service

systemctl status exagear-x86_*-opt.service

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞