黑群晖NAS优化设置

这篇文章是 黑群晖 系列 21 篇文章中的第 11 篇

关键词:黑群晖、黑群晖优化

更新套件源

  1. imnks
https://spk7.imnks.com/
  1. synocommunity
https://packages.synocommunity.com
  1. CPhub
https://www.cphub.net
  1. 云梦
https://spk.520810.xyz:666
  1. 4sag
https://spk.4sag.ru/
  1. 我不是太矿神
https://spk7.imnks.com/

屏蔽系统更新

  众所周知,黑群晖在更新系统的时候由于引导不适配很容易导致翻车,因此,为了防止自己手贱,将群晖的更新域名通过 hosts 指向一个错误的 IP,让其系统无法获取更新来达到屏蔽更新的目的。

修改 hosts

  ssh 连接并群晖获取 root 权限,编辑 /etc/hosts 文件,将 update.synology.com 指向任意一个错误的 IP:

sudo -i  
vi /etc/hosts # 按 i 进入插入模式,在底行加入如下:  

   127.0.0.1 update.synology.com 

# 之后按 ESC,切换为大写,输入 ZZ,即可保存

去掉桌面与控制面板更新提示

在前面屏蔽系统更新的基础上,ssh 连接并群晖获取 root 权限,删除提醒文件:

rm -rf /var/update/check_result/last_notified/*

rm -rf /var/update/check_result/update

CPU 显示补丁

  群晖控制面板信息中心中显示的 CPU 信息是根据系统型号对应的硬件信息写死的,比如白群晖 918+ 的 CPU 是 J3455,不管你黑群晖使用的什么 CPU,918+ 系统显示的都是 J3455,可以通过

FOXBI 大佬的补丁(github上的可以支持10代)来让其正确显示:

ssh 连接并群晖获取 root 权限 逐行执行如下命令:

wget -N --no-check-certificate http://static.iots.vip/sh/ch_cpuinfo.sh && sh ch_cpuinfo.sh

按照提示输入 1 回车 y 回车,之后注销登录,并清理浏览器缓存即可看到效果如图:

1978270780

不完整ups停电自动关机

 由于我的 UPS 不带通讯功能,无法接入群晖停电自动关机,因此,利用 shell 脚本不停的 ping 路由器,当路由器无法 ping 通时,延时一段时间后调用 poweroff 关闭群晖,实现断网自动关机。
  ssh 连接并群晖获取 root 权限 执行如下命令:

cd / # 切换目录到 / 
# 以下内容全部复制,粘贴执行
tee netcheck.sh <<-'EOF'
#!/bin/env bash
MonitorIP=192.168.1.1
DelayTime=180s
if ping $MonitorIP -W 2 -w 2 -c 2 >/dev/null;then
    echo date +'%Y-%m-%d %H:%M:%S'
    echo "Power on."
else
    echo date +'%Y-%m-%d %H:%M:%S'
    synologset1 sys warn 0x11600036
    sleep $DelayTime
    if ping $MonitorIP -W 2 -w 2 -c 2 >/dev/null;then
    synologset1 sys warn 0x11600035
    else
    synologset1 sys warn 0x11600037
    poweroff
    fi
fi
exit 0
EOF

回到 DSM 网页,打开“控制面板”,选择“任务计划”,新增“用户定义的脚本”,如下图配置:

4003470289
2568822685

在“任务设置”的“用户自定义脚本”中填入:

bash /netcheck.sh >> /netcheck.log

确定并保存即可。

plex和jellyfin扫描视频

打开file station 找到你存放电影的文件夹,右键属性

3762627978

在权限里面新增plex用户读取与写入的权限即可

2650627559
3125175256

10代cpu核心显卡补丁

注意教程只支持DS918+ 6.2.3系统

首先查核显的硬件id 我这边列几个常见的cpu,没有的自己去intel官网查或者自己用aida64查。
i5-9400i5-9600ki7-9700ti7-97003E98
i5 10600K i7107009BC5
i5-10500i3-103009BC8
i5-10400是9BC8/9BC5 需要自己装win10aida64

到英特尔官网查询:

传送门

搜索你的cpu型号:

3550444768
1595612095

如果你的型号有多种ID可以通用aida64查,老毛桃的PE应该就有,到显示设备处找图形处理器(GPU)里面就有。

如下图:

驱动替换文件:

https://tank.lanzoui.com/b0afsfpih

对应着找到文件下载,解压后得到对应的文件获取 i915.ko 文件复制替换到掉 /usr/lib/modules 里面原来的文件即可
替换的方法你可以参考下方的无脑方法,在网页上就可以操作,不用ssh不用命令行

使用用户自定义脚本解决

在计划任务上添加脚本

3926165431

跳到任务设置

在用户定义的脚本输入

cp /volume1/tmp/i915.ko /usr/lib/modules

然后点确定

3725747414

降低swap使用率

群晖DSM虽然在易用性方面非常不错,但是系统上的很多机制可以说是非常搓了,我的DS918+,自行添加内存到16G双通道,按理来说,NAS上跑的那点东西,16G内存是完全够用了,但就是这样,群晖也特别喜欢用虚拟内存,导致开机久了,我打开docker控制台,都要等7,8秒

原因就在于,群晖的配置都非常寒酸,那么高的价格只舍得配2G,4G的内存,DSM默认的vm.swappiness值设定为10,内存高的建议修改为1

所以,如果想要提高群晖系统的流畅度,首先就是要加大你的内存,之后修改DSM的vm.swappiness数值

ssh 进群晖,输入如下命令即可,不需要重启(对大部分Linux系统也适用)

sysctl -w vm.swappiness=1

不过这个方法存在一个问题,就是每次重启后会失效,需要重新执行这条命令

添加开机时刷新sysctl.conf

如图所示,在群晖计划任务中,添加一条计划任务,开机后执行sysctl -w vm.swappiness=1

推荐版

Xnip2023-05-10_21-51-02

如果你已经加装内存,比如说内存来到16GB,那么推荐你直接关闭swap,具体操作如下

添加到群晖计划任务中

如图所示,在群晖计划任务中,添加一条计划任务,开机10分钟后关闭swap

Xnip2023-05-10_21-51-02

现在开机久了,系统也依旧健步如飞,反应速度明显快了很多

简单说一下vm.swappiness

这里直接引用v2ex的一篇帖子,说的很简单透彻

https://www.v2ex.com/t/666354#reply7

vm.swappiness 优化

swappiness 设置为 1 比设置为 0 要好,因为在一些内核版本 swappiness 设置为 0 会触发系统 OOM-killer (注:Linux 内核的 Out of Memory ( OOM ) killer 机制)。

swappiness 的值的大小对如何使用 swap 分区是有着很大的联系的。swappiness=0 的时候表示最大限度使用物理内存,然后才是 swap 空间,swappiness = 100 的时候表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到 swap 空间里面。linux 的基本默认设置为 60,具体如下:

cat /proc/sys/vm/swappiness``60

也就是说,你的内存在使用到 100-60=40%的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统 io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。

系列目录<< 黑群晖NAS新手必备套件黑群晖系统升级(7.1版本升级到7.2版本) >>