Deepin V25.1的 **trayplugin-load **进程一直内存泄漏,对于经常不关机的场景下,稍不注意,内存就爆了。论坛反映这个问题的人不少:
trayplugin-load 进程占用2.2GB内存
简单做了个脚本临时处理下。有同样问题的朋友可以参考下。
核心逻辑:找到所有 trayplugin-load 进程,取最大的 RSS(实际占用的物理内存),超过阈值就重启dde-shell。
trayplugin-load
1、监控脚本如下
# 创建脚本 mkdir -p ~/.local/bin cat > ~/.local/bin/monitor_tray.sh << 'EOF' #!/bin/bash PROCESS_NAME="trayplugin-load" MEMORY_THRESHOLD_KB=524288 CHECK_INTERVAL=30 while true; do MAX_RSS=$(pgrep -x "$PROCESS_NAME" | xargs -I {} ps -o rss= -p {} 2>/dev/null | awk '{print $1}' | sort -nr | head -n1) if [ -n "$MAX_RSS" ] && [ "$MAX_RSS" -gt "$MEMORY_THRESHOLD_KB" ]; then echo "$(date): $PROCESS_NAME max RSS=${MAX_RSS}KB exceeded threshold. Restarting dde-shell..." >> ~/.local/logs/tray_monitor.log systemctl --user restart dde-shell@DDE.service sleep 60 # 避免频繁重启 fi sleep "$CHECK_INTERVAL" done EOF # 加执行权限 chmod +x ~/.local/bin/monitor_tray.sh # 创建日志目录 mkdir -p ~/.local/logs # 创建服务 mkdir -p ~/.config/systemd/user cat > ~/.config/systemd/user/tray-monitor.service << 'EOF' [Unit] Description=Monitor trayplugin-load memory usage and restart dde-shell PartOf=graphical-session.target After=graphical-session.target [Service] Type=simple ExecStart=/home/sheldon/.local/bin/monitor_tray.sh Restart=always RestartSec=5 [Install] WantedBy=graphical-session.target EOF # 启动服务 systemctl --user daemon-reload systemctl --user enable --now tray-monitor.service # 检查状态 systemctl --user status tray-monitor.service
2、脚本删除步骤
如果哪天 Deepin 修好了这个 bug,或者你觉得烦了,按下面三步删干净:
# 1. 停止并禁用服务 systemctl --user stop tray-monitor.service systemctl --user disable tray-monitor.service # 2. 删除服务文件 rm ~/.config/systemd/user/tray-monitor.service # 3. 删除监控脚本和日志(可选,不想留就删) rm ~/.local/bin/monitor_tray.sh rm -rf ~/.local/logs/tray_monitor.log # 4. 让 systemd 重新加载一下配置 systemctl --user daemon-reload
3、日志查看
运行起来后,如果发生重启ddeshell会记录日志到~/.local/logs/tray_monitor.log
sheldon@sheldon-PC:~$ tail -f ~/.local/logs/tray_monitor.log 2026年 05月 12日 星期二 14:21:24 CST: trayplugin-load max RSS=525288KB exceeded threshold. Restarting dde-shell...
No replies yet
Featured Collection
Popular Ranking
Popular Events
Deepin V25.1的 **trayplugin-load **进程一直内存泄漏,对于经常不关机的场景下,稍不注意,内存就爆了。论坛反映这个问题的人不少:
trayplugin-load 进程占用2.2GB内存
简单做了个脚本临时处理下。有同样问题的朋友可以参考下。
核心逻辑:找到所有
trayplugin-load进程,取最大的 RSS(实际占用的物理内存),超过阈值就重启dde-shell。重启后会发生什么(必现)
1、监控脚本如下
2、脚本删除步骤
如果哪天 Deepin 修好了这个 bug,或者你觉得烦了,按下面三步删干净:
3、日志查看
运行起来后,如果发生重启ddeshell会记录日志到~/.local/logs/tray_monitor.log