nli-MiniLM2-L6-H768详细步骤:supervisor日志轮转配置防止/workspace日志爆满
1. 问题背景与需求分析
在部署nli-MiniLM2-L6-H768模型服务时,我们发现日志文件会持续增长并占用大量磁盘空间。特别是位于/root/workspace/目录下的日志文件:
/root/workspace/nli-minilm2-l6-h768-web.log/root/workspace/nli-minilm2-l6-h768-web.err.log
如果不进行日志轮转管理,这些日志文件可能会:
- 占满整个
/workspace分区 - 导致服务无法写入新日志
- 影响系统正常运行
2. 日志轮转方案选择
2.1 常见日志管理方式
对于Supervisor管理的服务,主要有三种日志管理方案:
- 内置日志轮转:Supervisor自带的
maxbytes和backupcount参数 - logrotate工具:Linux系统自带的日志轮转工具
- 自定义脚本:通过crontab定时清理
2.2 方案对比与选择
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| Supervisor内置 | 配置简单,与Supervisor集成 | 功能有限,不能压缩旧日志 | 简单场景 |
| logrotate | 功能强大,支持压缩、定时 | 需要额外配置 | 生产环境推荐 |
| 自定义脚本 | 完全可控 | 维护成本高 | 特殊需求 |
推荐选择:使用logrotate方案,因为它:
- 是Linux标准组件
- 支持日志压缩
- 可以灵活配置轮转策略
- 不影响Supervisor的正常运行
3. 具体配置步骤
3.1 创建logrotate配置文件
为nli-MiniLM2-L6-H768服务创建专用的logrotate配置:
sudo nano /etc/logrotate.d/nli-minilm2-l6-h768文件内容如下:
/root/workspace/nli-minilm2-l6-h768-web.log /root/workspace/nli-minilm2-l6-h768-web.err.log { daily missingok rotate 7 compress delaycompress notifempty create 0644 root root sharedscripts postrotate /usr/bin/supervisorctl signal HUP nli-minilm2-l6-h768-web >/dev/null 2>&1 || true endscript }3.2 配置参数说明
daily:每天轮转一次日志missingok:如果日志文件不存在也不报错rotate 7:保留最近7天的日志compress:使用gzip压缩旧日志delaycompress:延迟一天压缩(方便排查最新日志)notifempty:空日志文件不轮转create 0644 root root:新日志文件的权限和属主postrotate:轮转后执行的命令(通知Supervisor重新打开日志文件)
3.3 测试logrotate配置
手动执行测试,检查配置是否正确:
sudo logrotate -vf /etc/logrotate.d/nli-minilm2-l6-h768预期输出应包含:
rotating log /root/workspace/nli-minilm2-l6-h768-web.log, 7 days rotating log /root/workspace/nli-minilm2-l6-h768-web.err.log, 7 days4. 验证与监控
4.1 验证日志轮转效果
查看日志文件是否被轮转:
ls -lh /root/workspace/nli-minilm2-l6-h768-web.log*检查压缩文件是否生成:
file /root/workspace/nli-minilm2-l6-h768-web.log.1.gz
4.2 设置定时任务检查
虽然logrotate默认由cron.daily执行,但可以添加监控确保其正常运行:
sudo nano /etc/cron.d/logrotate-monitor添加以下内容:
0 2 * * * root /usr/sbin/logrotate /etc/logrotate.conf > /var/log/logrotate.log 2>&15. 高级配置选项
5.1 按大小轮转(替代按天)
如果需要按日志大小而非时间轮转,可以修改配置:
size 100M5.2 保留更多日志版本
增加保留的日志数量(如30天):
rotate 305.3 自定义压缩命令
使用更高效的压缩工具(如zstd):
compresscmd /usr/bin/zstd compressoptions -z -96. 总结与建议
通过以上配置,我们实现了:
- 自动日志轮转:每天自动轮转日志,防止单个文件过大
- 日志压缩存储:旧日志以gzip格式压缩,节省磁盘空间
- 保留历史日志:保留最近7天的日志,便于回溯问题
- 无缝衔接服务:轮转后自动通知Supervisor重新打开日志文件
最佳实践建议:
- 生产环境建议保留至少7天日志
- 定期检查
/var/log/logrotate.log确保轮转正常执行 - 对于高负载服务,考虑按大小而非时间轮转
- 重要日志可考虑同步到远程日志服务器
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。