亚信无代理产品采用DSHA部署后,默认会启用资源限制功能,该功能会对防病毒的进程进行资源限制。在资源限制过程中,存在一定概率将虚拟化环境中的进程(包括虚拟机相关进程)加入到资源限制组。当添加虚拟机相关进程到资源限制组,将导致客户虚拟机资源使用受限,虚拟机的性能受到影响。
受影响版本 DSHA 20.0.2.3520-20.0.2.5021 ( X86、ARM 均包含 ),建议此版本区间内按此案例检查。
在 CVK 上通过查询当前限制组添加的进程情况,如果有非 ds_am| ds_md 进程,则存在误添加的情况
/opt/ds_agentless/monitor/agentless_cpu_limit.sh status

也可以通过在 agentless_limit 中 grep 查看是否有对应虚拟机 pid
通过 virsh list --pid 查看虚拟机及对应 pid
cd /sys/fs/cgroup/cpu/agentless_limit 路径
grep pid tasks 确认是否在被限制列表中

----------------------------------------------------------------------------------------------------------------
结论:亚信新建了 cgroup cpu 资源组 “agentless_limit” ,(cpu.cfs-period_us=10000(默认值100000),cpu.cfs_quota_us=60000(默认值为 -1 不限制)),纳管了系统中大部分进程,其中包括虚拟机的进程,从而导致虚拟机进程可用的 CPU 资源极低( CPU 调度更频繁,进程每周期可使用的 CPU 资源很少),造成虚拟机卡顿。


临时解决方案( 1/2 执行其一即可) :
1.虚拟机关闭防病毒功能(需冷重启),亚信平台停用该虚拟机防病毒功能;
2.通过执行如下命令,关闭 cgroup 限制功能:
service ds_agentless stop
/opt/ds_agentless/monitor/agentless_cpu_limit.sh delete
mv /opt/ds_agentless/monitor/agentless_cpu_limit.sh opt/ds_agentless/monitor/agentless_cpu_limit.sh.bak
service ds_agentless start
(推荐)彻底解决需升级 DSHA 至 20.0.2.5021 后版本。软件版本及升级操作以亚信提供为准。