[暂不合并]chore(service): add dde-thp-disable as ExecStartPre for all services#86
[暂不合并]chore(service): add dde-thp-disable as ExecStartPre for all services#86mhduiy wants to merge 1 commit into
Conversation
1. Added `ExecStartPre=-/usr/libexec/dde-thp-disable` to disable THP before service startup 2. Applied to deepin-service-manager, deepin-service-group@, and deepin-service-plugin@ services Log: Add dde-thp-disable pre-start hook to all deepin service manager units chore(service): 所有服务添加 dde-thp-disable 预启动命令 1. 在所有 service 文件中添加 `ExecStartPre=-/usr/libexec/dde-thp-disable`,启动前关闭透明大页 2. 同时作用于 deepin-service-manager、deepin-service-group@ 和 deepin-service-plugin@ 服务 Log: 为所有 deepin service manager 单元添加 dde-thp-disable 预启动钩子 PMS: TASK-390043
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: mhduiy The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
deepin pr auto review你好!我是CodeGeeX。我已仔细审查了你提供的 Git Diff。 本次修改主要在三个 systemd 服务单元文件( 以下是我对该修改在语法逻辑、代码质量、代码性能和代码安全方面的审查意见及改进建议: 1. 语法逻辑
2. 代码质量
3. 代码性能
4. 代码安全
💡 改进建议建议一:将系统级配置下沉到专用的 systemd 服务或 tmpfiles/snippet 中(强烈推荐) 禁用 THP 这种全局性的系统调优,最佳实践是创建一个独立的、最早启动的 systemd 服务,或者使用 systemd 的配置片段。这样只需维护一处代码,且不会阻塞业务服务的启动。 方案 A:创建独立的 early-boot 服务 # misc/dde-thp-disable.service
[Unit]
Description=Disable Transparent Huge Pages (THP) for DDE
DefaultDependencies=no
After=sysinit.target
Before=basic.target
[Service]
Type=oneshot
ExecStart=/usr/libexec/dde-thp-disable
RemainAfterExit=yes
[Install]
WantedBy=sysinit.target然后在三个业务 service 文件中添加依赖关系,而不是直接执行脚本: # 在 deepin-service-manager.service.in 等文件中修改
[Unit]
After=dde-thp-disable.service
Wants=dde-thp-disable.service方案 B:通过 systemd 临时文件机制修改内核参数(更轻量) # /etc/tmpfiles.d/dde-thp-disable.conf
# Path Mode UID GID Age Argument
w /sys/kernel/mm/transparent_hugepage/enabled - - - - never建议二:如果必须保留当前方案,请优化脚本使其幂等且高效 如果因为某些打包或架构原因必须采用当前的
总结:当前的 Diff 在语法上没有问题,但在架构设计和性能考量上存在优化空间。推荐采用方案 A将“禁用 THP”与“启动业务服务”解耦,这更符合 systemd 的设计哲学,也能提升系统的启动性能和可维护性。 |
ExecStartPre=-/usr/libexec/dde-thp-disableto disable THP before service startupLog: Add dde-thp-disable pre-start hook to all deepin service manager units
chore(service): 所有服务添加 dde-thp-disable 预启动命令
ExecStartPre=-/usr/libexec/dde-thp-disable,启动前关闭透明大页Log: 为所有 deepin service manager 单元添加 dde-thp-disable 预启动钩子
PMS: TASK-390043