deepin流云
2026-01-05 14:18 Super Moderator
Community OP
硬核分享
Reply Like 0 View the author
硬核分享
文章不错 就是格式乱了点

好多知识点呀

小白表示看不懂,玩不了😂
老电脑我还是装20.9,挺好用的,资源占用低很多
调整vm.watermark_scale_factor参数过大会导致兼容引擎程序运行错误。
看了一部分,滑到最下面来评论,这么长,还是继续用windows10吧
看了一部分,滑到最下面来评论,这么长,还是继续用windows10吧
同样的思路也适用Windows
Windows可调的也有很多 我简单写了一下
在系统属性的高级系统选项里面或者设置的窗口效果里面
调整虚拟内存配置,设置虚拟内存为手动管理放在固态硬盘而非机械硬盘上
使用如Inspectre关闭CPU漏洞软件缓解https://www.grc.com/inspectre.htm
比如系统遥测服务
隐藏了就不刷新了 可以提升性能
举例 用spacesniffer软件查系统盘看哪里占用高分析是不能卸载的系统组件还是软件的一部分
为执着的技术钻研精神点赞👍
我的A10-6800K超频加RX6600加512固态加16GB 2133内存用V25已经够流畅了
Popular Ranking
ChangePopular Events
More
9000字+抽象长文
由于硬盘涨价,内存涨价,CPU涨价,XXXX的都涨价,发一篇文章讲解如何当硬件钉子户实现硬盘占用巨小(轻松达到磐石25的一半以下),内存占用巨小,系统运行飞快,跑分遥遥领先。
老机器的性能其实往往还是丝滑得一笔,哈哈哈哈,笔者使用12年前的双核四线程i5 4310M写完这篇文章并上传,使用者可以自行对比各项微观宏观指标例如phoronix test suite中就有很多性能测试,io测试可以用kdiskmark,不同硬件上不同方法性能提升量化不同,不能一概而论。
展示Linux桌面超强定制性的时候到了,以下全部过程必须在虚拟机中先走一遍防止操作错误。!!!每项操作可行性和安全性自己评估。!!!
由于边际效用递减,本人还在研究强力的内核省内存方法,还没放出来,敬请期待。
1.全新安装deepin 23 or 23.1升级25
试过如下施工后除磐石不可用外玲珑可用,正常升级可用,可以找一个btrfs子卷教程用timeshift来做备份
注意非全新安装的系统可能软件依赖被破坏导致无法正常升级或者升级后掉包! 必须全盘备份再操作。
这样系统避免了磐石和玲珑包导致过大硬盘占用,以及没有磐石可以彻底删除包来释放空间。
注意 安装后浏览器只有玲珑包格式 建议提前备份浏览器数据 以及建议使用Firefox或chromium之类的代替(其实有w3m或lynx之类的极其轻量的浏览器或者falkon
这种使用自带qt6webengine浏览器库的浏览器,缺点是磁盘占用小但是运行内存占用可能比chrome更大)
做法:
0.9 如果你的sudo执行慢
sudo管理员权限运行编辑器如nano,vim,emacs等等自选,也可以直接文件管理器右键管理员权限启动用文本编辑器改。。。
修改 /etc/nsswitch.conf 文件 ,修改下面hosts这行
把 myhostname 放在file 后面 记得用空格,最终我的效果如下:
hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns wins
1.1 编辑系统仓库源文件替换成25的源
修改25系统仓库源文件 /etc/apt/sources.list文件添加下面这行25官方源或者使用中科大或华中科大源,用#注释其他的源减少更新apt update压力
这个是传统的sourcelist格式,修改/etc/apt/sources.list.d/debian.source是DEB822格式
(不使用mirrorz的原因是mirrorz里面没有显示deepin,不使用清华大学源的原因是因为清华大学源支持的太多负载太高了)
deb https://community-packages.deepin.com/beige/ crimson main commercial community
中科大源
deb https://mirrors.ustc.edu.cn/deepin/beige/ crimson main commercial community
华中科大源
deb https://mirrors.hust.edu.cn/deepin/beige/ crimson main commercial community
1.2 编辑应用商店源文件替换成25的源
修改25应用商店源文件 /etc/apt/sources.list.d/appstore.list添加下面这行25官方源
deb https://com-store-packages.uniontech.com/appstore-V25 crimson appstore
1.3 编辑驱动仓库源文件替换成25的源
修改25驱动仓库源文件/etc/apt/sources.list.d/driver.list 添加下面这行25官方源
deb https://community-packages.deepin.com/driver-25/ snipe non-free
1.4 升级后不要马上重启,执行控制中心升级或命令进行升级(如果dist-upgrade不会选建议用控制中心来升级)
升级后不要马上重启 升级后不要马上重启 升级后不要马上重启
使用控制中心升级可以忽略下面两个命令:
sudo apt update
sudo apt dist-upgrade
1.5 更新后执行下面命令修复桌面环境
往往上一步可能卸载了一些不应该卸载的包,执行下面命令安装几个主要的虚包来重建依赖
sudo apt install deepin-desktop-environment-base
sudo apt install deepin-desktop-environment-core
sudo apt install deepin-desktop-environment-extras
sudo apt install deepin-desktop-environment-cli
*** 1.6 执行自动移除 不建议小白运行 但可以减少系统存储占用
如果或者预期遇到非预期的软件包被删了 请查看apt历史记录并询问AI如deepseek安装回被移除的包
apt历史记录日志位置/var/log/apt/history.log和/var/log/apt/history.log.*.gz(gz压缩的)
这个命令查看手动安装的包
apt-mark showmanual
这个命令查看自动安装的包
apt-mark showauto
移除这个grub钩子 否则导致autoremove进程失败
sudo rm /etc/grub.d/99_deepin-boot-kit
下面命令会移除不再被依赖的包
sudo apt autoremove
手动安装玲珑中会有的自带包或者在玲珑安装 不需要的可以不安装
安装deepin字体管理UI
sudo apt install deepin-font-manager
安装deepin日历
sudo apt install dde-calendar
安装deepin文本编辑器(文本编辑器有bug可能不落盘)
sudo apt install deepin-editor
剩余的
sudo apt install deepin-album deepin-camera deepin-draw deepin-image-viewer deepin-mail deepin-manual deepin-movie deepin-music deepin-reader deepin-voice-note
1.7 重启进入新系统
1.8 修复玲珑无法使用的问题
加一个假仓库
ll-cli repo add stable-2 https://linglong.deepin.com
删掉原来的仓库
ll-cli repo remove stable
加回来
ll-cli repo add stable https://mirror-repo-linglong.deepin.com
删掉假仓库
ll-cli repo remove stable-2
测试可以安装如浏览器了
ll-cli install org.deepin.browser
老硬件上或虚拟机里往往显卡性能巨大差导致窗口特效占用资源极高,
如果之前关闭过窗口特效需要切换下重新再关闭,否则窗口特效会关闭不完整。
在新系统中关闭透明大页
此功能有助于数据库类应用的性能但会导致额外的内存消耗
本次启动临时生效组合
echo never | sudo tee -a /sys/kernel/mm/transparent_hugepage/enabled
然后如果never被选中说明生效了
cat /sys/kernel/mm/transparent_hugepage/enabled
永久生效方法
sudo或root下添加这个文件 /etc/default/grub.d/11_never_transparent_hugepage.cfg
文件内容为下面这行,意图就是继承/etc/default/grub的GRUB_CMDLINE_LINUX_DEFAULT启动参数而不覆盖
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT transparent_hugepage=never"
sudo update-grub
在新系统中修改kswapd内存回收水位
对于内存少和性能差的机器往往更早唤起内核内存回收进程效率更高,否则进入min水位内核从异步切成同步回收内存会导致应用申请内存十分卡顿。
sysctl -a | grep vm.watermark看到
vm.watermark_scale_factor=10 对于小内存机器低性能机器来说太保守了
默认10的单位是0.1%可用内存,最大值是3000为30%,这个对于小内存机器十分捉急,
使用sudo sysctl -w vm.watermark_scale_factor=1000 设置10%可用的时候就开始叫醒kswapd来保证内存尽可能不掉入直接回收
老CPU往往有各种各样的CPU侧信道漏洞,会导致程序可以利用漏洞违反权限限制以低权限进程获得root权限才能访问的数据
但是对于一般桌面系统而言 往往所有程序都运行在同一用户中,可以获取到用户的其他数据如ssh秘钥之类的本来就会构成重大问题
因此运行程序本身需要信任程序的前提下 可以添加mitigations=off来关闭内核对CPU侧信道漏洞的缓解措施以提升老CPU本就雪上加霜的性能
sudo或root下添加这个文件 /etc/default/grub.d/111_mitigations_off.cfg
文件内容为下面这行
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT mitigations=off"
sudo update-grub
文件管理器->设置->高级设置->搜索
此功能会降低io性能导致老系统本来就很差的io性能雪上加霜了。
例如 没有2G、3G、4G、5G网卡也就是modem的可以禁用这个服务
sudo systemctl disable --now ModemManager.service
例如不使用网络共享可以关掉samba服务和nmbd服务 不使用蓝牙可以关掉蓝牙服务
例如/etc/xdg/autostart/里面的自动启动项看着禁用
deepin的dock栏和windows的任务栏一样有刷新开销 隐藏了就不刷新了 可以提升性能
笔记本电脑上把默认为了稳定不打开的运行时节能选项全开了能有效延长续航
安装
sudo apt install powertop
运行
sudo powertop
按TAB切换到tunables里面按上下左右把bad全空格改成good然后esc退出
这个是临时生效的 如果有不稳定的现象如死机重启会自己恢复
默认的ondemand已经是性能激进型的,如果是服务器不怕浪费电可以调performance但是这个在笔记本电脑上只会劣化,
可以schedutil和conservative和ondemand都试试看
如果是英特尔或者AMD CPU且用pstate的驱动,看/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver是不是pstate,
如果是的话 powersave的意思是调频 然后去调/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference
值可以是energy_performance_available_preferences的字符串或者是数字0-255 不同数字的能效不一样
performance的意思是preference是最积极模式不能调相当于0
需要省电也可以类似Windows上调整调频驱动的epp属性
举例
卸载uos-ai,同样方法可以实现卸载fonts-adobe-source-han-cjk字体等等占用高的软件包
下载包
apt download uos-ai
解压包
dpkg-deb -R uos-ai***.deb uos-ai
清空包
uos-ai目录中删除DEBIAN目录中的conffiles和除了DEBIAN目录的其他目录
重新打包
dpkg -b uos-ai
重新安装空包实现卸载
sudo dpkg -i uos-ai.deb
如/usr/share目录中有大量如deepin-manual文件夹 fonts文件夹 doc文件夹等等占用空间很大
利用ncdu等工具分析磁盘占用,删除/lib/firmware中例如mellanox网卡固件这种占用大但是桌面不一定用的上的固件文件夹
zram作为swap来做压缩内存可以有效降低对内存的需要,具体可以参考别的文章,只能说非常有用,
sudo sysctl -a列出参数然后让AI根据你的系统推荐下怎么调参 记得记下来为什么调的然后保存到/etc/sysctl.d/下面新建文件出来
类似上文传递cgroup.memory=nokmem内核启动参数,可以继续降低内存占用
如果开一大堆程序在机械硬盘上面抢io,建议修改对应盘上的io调度器为bfq,然后设置不同进程的ionice
通过taskset设置进程亲和性,例如把多线程性能差的进程放置在一个频率或者效率最高的核心上,或绑定进程到单个NUMA上减少调度迁移等等。
***通过sched_ext使用BPF程序写自定义调度器,https://github.com/sched-ext/scx仓库有一系列的调度例子。
先lsblk 找普通用户有权限写的盘的/dev/路径 例如/dev/sda5
可以把为root用户保留的空间设置到1%,对于大硬盘用户来说还是很实用的,非系统分区可以直接设置0
sudo tune2fs -m 1 /dev/sda5
修改/etc/fstab 把需要提升性能的挂载点的relatime改成noatime不更新访问时间
ip a或者别的什么命令找到wl前缀开头的接口如wlan,wlo1,wlp1s0这之类的,多个网卡设置多次
获知节能状态 iw wlo1 get power_save
设置节能状态 sudo iw wlo1 set power_save on
关闭节能状态 sudo iw wlo1 set power_save off
6.6以上内核支持启动时决策抢占,也就是可以传内核启动参数类似上面的修改启动参数,根据使用场景选择
抢占的意思是内核会不会主动让出来给应用打断,
传preempt=none是内核不被打断,此时吞吐效率最高,适合服务器,
传preempt=voluntary是内核在内核添加的调度点让出,此时吞吐效率较高同时提高桌面场景响应性,适合桌面,
传preempt=full是内核在内核所有非关键部分可抢占,此时桌面场景应用响应性最高,适合桌面快速响应,但是会降低吞吐性能。
sudo apt install linux-headers-6.12.63-amd64-desktop-rolling linux-image-6.12.63-amd64-desktop-rolling
确认生效的方法是uname -a命令显示 #25.01.01.10
zcat /proc/config.gz | grep CONFIG_MODULE_COMPRESS不显示 is not set
此内核打开了内核模块压缩可以减少/lib/modules下的占用
运行 du -sh /lib/modules/* 命令可以看到各个内核的占用
如果这个内核能正常使用就能卸载其他占用更高的内核来节约硬盘空间(包名为目录下其他的内核名字)
如6.12.60-amd64-desktop-rolling对应
sudo apt remove linux-headers-6.12.60-amd64-desktop-rolling linux-image-6.12.60-amd64-desktop-rolling
*** 22. 自行编译系统包,使用-Os参数,可以降低硬盘占用,如果是运行的系统服务可以降低内存占用,这个很折腾
需要使用另外一台电脑编译
通过添加deb-src源
deb-src https://community-packages.deepin.com/beige/ crimson main commercial community
或中科大源
deb-src https://mirrors.ustc.edu.cn/deepin/beige/ crimson main commercial community
华中科大源
deb-src https://mirrors.hust.edu.cn/deepin/beige/ crimson main commercial community
apt update更新后apt source xxx下载某个xxx包的代码
使用mk-build-deps安装依赖
sudo apt install devscripts
sudo mk-build-deps -i xxxxxx包的路径下/debian/control来安装依赖 这样卸载了虚包之后autoremove能自动删掉安装的构建依赖
参考 https://wiki.debian.org/HardeningWalkthrough
添加下面几行到debian/rules文件里面 如果已经有修改DEB_CFLAGS_MAINT_APPEND就增加在已经有的那行末尾
DEB_CFLAGS_MAINT_APPEND=-Os
DEB_CPPFLAGS_MAINT_APPEND=-Os
DEB_CXXFLAGS_MAINT_APPEND=-Os
打包
dpkg-buildpackage -uc -us -nc -b
大硬盘的可以无视
*** 23. 自行编译内核,打开CONFIG_CC_OPTIMIZE_FOR_SIZE,这个比较折腾
具体可以见自己编译内核的文章
deepin的6.12内核源码在
https://github.com/deepin-community/kernel的linux-6.12.y分支
国内源为
https://gitcode.com/deepin-community/kernel的linux-6.12.y分支
内核构建依赖包参考如下
sudo apt install bc build-essential zstd flex bison libssl-dev make libelf-dev git debhelper pahole libncurses-dev gcc-12-plugin-dev
git clone https://gitcode.com/deepin-community/kernel -b linux-6.12.y --depth=1 git拉代码到文件夹里面
进文件夹make deepin_x86_desktop_defconfig 设置默认桌面配置
make menuconfig
按\查找CONFIG_CC_OPTIMIZE_FOR_SIZE 按1进入然后从performance选到size然后save保存
make bindeb-pkg -j$(nproc) 按nproc也就是机器线程数编译
sudo dpkg -i linux-headers-xxx.deb linux-image-xxx.deb 安装编译后的内核包 dbg包是调试符号
可以用clang编译内核打开LTO也就是LinkTimeOptimize链接时优化,还有PGO也就是根据perf数据进行优化,还有BOLT,并调节编译mtune针对本机编译等等。
简单的用clang编译的方法:
安装clang编译器套件和链接器 sudo apt install llvm clang lld
加上LLVM=1配置 make LLVM=1 deepin_x86_desktop_defconfig
make menuconfig
按\查找CONFIG_LTO_CLANG_THIN 按1进入然后从None选到thin然后save保存,选full也可以,但是编译时间更长
make LLVM=1 bindeb-pkg -j$(nproc) 按nproc也就是机器线程数编译
*** 24. 自行编译内核,裁剪不需要的配置,这个很折腾
具体见裁剪内核配置的文章,只能说也是有用的,例如在小内存机器上关闭五级页表,选择三级页表,关闭虚拟化KVM,关闭NUMA,针对特定驱动关闭节能等等 官方不能关但是定制可以关
另外deepin内核默认启用了MGLRU也就是CONFIG_LRU_GEN_ENABLED=y