January 21, 2021

解决群晖的Python模块可能有重复引导psutil的问题

`虽然pip 或者opkg安装了psutil,但是其他引用psutil的app仍然提示:`

ERROR!
cannot import name '_psutil_linux' from partially initialized module 'psutil' (most likely due to a circular import) (/root/.local/lib/python3.9/site-packages/psutil/__init__.py)

Install required modules!

`那么目前python大环境上py2 ,py3还可能共存相当长一段时间,此刻嵌入式设备要解决py2to3的问题的确挺麻烦`

首先将你的环境变量全部换成opkg内自行安装的python3 latest版本的路径

比如PYTHON以及$PYTHONPATH 直接丢到全局env /etc/profile里去顺便也可以提早 source /opt/etc/profile 初始化Opkg环境 对于QNAP的NAS来说,许多python写的监控软件需要本机版本上native的psutil所以还是得安装opkg install python3-psutil

然后安装 pip install --no-binary :all: psutil

这样不管玩glances监控或者bpytop等硬件监控都可以愉快玩耍了

`另外吐槽nas厂商的swap设定太过死板 非得把swap分布到每个磁盘上 机械盘那个速度做swap有何意义? 内存再小也没有必要 代价太大,性能差,噪音大,还影响磁盘休眠.

qnap可以用脚本撤销在机械盘上挂载swap分区的动作, 却无法指定ssd上分配多大空间给swap

synology 当然也是可以通过sysctl.conf上的vm.swappiness=0 完全彻底禁用swap,那就ssd上也无法使用swap. 内存过小的时候 运行transmission爆内存就成为常态了.小心不能把硬盘上的md1也就是swap分区搞掉了 否则阵列掉盘啦 警告你卷已经损坏啦 害得你紧张得一批,实际数据是好的

两者都浪费了机械盘的宝贵空间创建一个用不上的swap分区,又都无法妥善利用ssd的swap文件  两者都无法搞好资源合理分配 这些定制nas的厂商,一大堆毫不实用的功能加上稀烂又贵得飞起的价格 就叫做买软件送硬件了. 看看skynas以及quTS-cloud那恐怖的订阅报价  啧啧啧 台湾公司黑心着呢