找回密码
 立即注册
首页 业界区 业界 Linux百度网盘优化三板斧

Linux百度网盘优化三板斧

镝赋洧 2025-7-4 21:17:21
解决Linux百度网盘CPU占用过高,下载进度卡住,频繁崩溃退出问题。
解决Linux百度网盘CPU占用过高问题

夏天到了,百度网盘下载时conky显示CPU温度飙升到99摄氏度,风扇嗷嗷叫,但CPU占用显示只有4%。优化了一下水冷泵速度仍然未解决。最后在网上搜到,这货虽然占得核心少,但会把核心榨干……众所周知,百度网盘在windows占用CPU过高可以通过任务管理器CPU配额进行限制,那么在linux下百度网盘CPU占用过高又该如何处理呢?
经过一番易用性比较,最终选择cpulimit这个命令行工具进行限制,以manjaro linux为例:
执行yay -S cpulimit安装cpulimit工具,
查看帮助信息:
  1. cpulimit -h                                                                                                            ✔
  2. Usage: cpulimit [OPTIONS...] TARGET
  3.    OPTIONS
  4.       -l, --limit=N          percentage of cpu allowed from 0 to 2400 (required)
  5.       -v, --verbose          show control statistics
  6.       -z, --lazy             exit if there is no target process, or if it dies
  7.       -i, --include-children limit also the children processes
  8.       -h, --help             display this help and exit
  9.    TARGET must be exactly one of these:
  10.       -p, --pid=N            pid of the process (implies -z)
  11.       -e, --exe=FILE         name of the executable program file or path name
  12.       COMMAND [ARGS]         run this command and limit it (implies -z)
  13. Report bugs to <marlonx80@hotmail.com>.
复制代码
终端执行cpulimit -e baidunetdisk -l 100进行限制,后面的数值越大,允许占用CPU越高。如果太小,又会降低下载速度,可以根据自己设备和带宽情况灵活设置。
这个指令会在后台持续监控,如果百度网盘退出仍会监测,大约每秒一次动态控制。
解决Linux百度网盘下载进度卡住问题

明明有网络,但进度条就是不动,百度网盘界面显示下载速度已跑满,实际系统监控界面流量速率归零。各种尝试,最终发现一个方法可以解决
步骤1:退出百度网盘
步骤2: rm -rf ~/.config/baidunetdisk/BaiduYunKernel
步骤3:启动百度网盘
然后下载速度就恢复正常了。至于原理,纯玄学。
解决Linux百度网盘下载一段时间崩溃退出问题

下载任务文件多时,linux百度网盘缓存数据目录等信息可能会因为各种格式问题无法处理而崩溃,但为了安心让它持续下载,想出个应对方法——写个守护进程脚本持续监控,一旦退出就将其拉起来。代码如下:
  1. #!/bin/sh
  2. while true
  3. do
  4.         process=`ps aux | grep "baidunetdisk --no-sandbox" | grep -v grep`;
  5.         if [ "$process" == "" ]; then
  6.                 sleep 1;
  7.                 echo $(date) " process 不存在,开始执行";
  8.                 /usr/lib/baidunetdisk/baidunetdisk --no-sandbox %U 2>> stderr.log 1>> /dev/null;
  9.         else
  10.                 sleep 10;
  11.                 echo $(date) " process exsits";
  12.         fi
  13. done
复制代码
pgrep也能实现类似效果,但系统未必自带,感兴趣的读者可以按需下载。脚本保存为xx.sh,chmod +x xx.sh赋予执行权限。然后./xx.sh就可以了。
感悟

装在linux的本意是规避windows下的cpu占用问题,结果还是太折腾,不如丢windows虚拟机里面,直接从任务管理器限制,同时外部给虚拟机分配最少的资源。

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册