前两天重启服务器之后发现 fail2ban 启动失败,出现如下错误:
/etc/init.d/fail2ban restart
[....] Restarting fail2ban (via systemctl): fail2ban.service
Job for fail2ban.service failed because the control process exited with error code. See "systemctl status fail2ban.service" and "journalctl -xe" for detai
Read more ...
Python 中的 with 语法经常被用来在管理资源的访问和清理中,常见的场景有文件的使用和关闭,锁的获取和释放等等。
with open("file.txt") as file:
data = file.read()
with 语法特别容易联想起 Java 中的 try-with-resources AutoCloseable,同样实现资源的自动释放。
基本格式
从基本使用开始了解 with,with 的结构如下:
with context_expression [as target(s)]:
content
With 工作原
Read more ...
CPU 调频模块主要分为三块:
CPUFreq 核心模块,核心模块主要是公共的 API 和逻辑
CPUFreq 驱动,处理和平台相关的逻辑,设置 CPU 频率和电压
CPUFreq governor,频率控制器,CPU 调频的策略,CPU 在什么负载,什么场景下使用多少频率
最后第三部分 governor 也是本文重点。传统的 CPU governor 选择,以 Performance 和 Powersave 举例,就是一个让 CPU 跑在最高频率,一个让 CPU 跑在最低频率,所有动作都在初始化时设置。
调频器策略
OnDeman
Read more ...
Open WebUI 基于网页的大语言交互界面及联网搜索配置
之前的视频也介绍过,ChatWise,Cherry Studio,Chatbox 等大语言模型调用的本地客户端,虽然这些客户端都还是跨平台的,但是总还是需要占用本地的空间,今天我就来介绍一款基于网页的 LLM 交互客户端 Open WebUI,以及再介绍一下如何配置 Open WebUI 让其支持联网搜索。
多版本管理工具 mise 使用详解
我用了很多年的 asdf 作为管理各种语言版本的工具,但是最近一次更新,asdf 多了一些变化,我也写了一篇文章介绍怎么升级的。在文章下方有小伙伴(lonelyhentxi) 给我推荐了 mise 这样一款使用 Rust 编写的多版本管理工具 mise,我大致的看了一下 mise,觉得是一个非常不错的项目,在这里再次感谢。