Qwen3.5-9B生产环境:logrotate自动轮转+磁盘空间预警配置
Qwen3.5-9B生产环境logrotate自动轮转磁盘空间预警配置1. 项目概述Qwen3.5-9B是一个拥有90亿参数的开源大语言模型具备以下核心能力强逻辑推理能够处理复杂的逻辑问题代码生成支持多种编程语言的代码生成和补全多轮对话保持上下文连贯的长对话能力多模态理解支持图文输入通过Qwen3.5-9B-VL变体长上下文支持最高可处理128K tokens的上下文在生产环境中日志管理和磁盘空间监控是确保服务稳定运行的关键环节。本文将详细介绍如何配置logrotate自动轮转日志文件以及设置磁盘空间预警机制。2. 日志管理现状分析当前项目结构中的日志文件位于/root/qwen3.5-9b/service.log随着服务持续运行该日志文件会不断增长可能带来以下问题磁盘空间占用大日志文件会快速消耗磁盘空间性能影响读写大文件会降低系统性能管理困难单个大文件不便查阅和分析安全隐患日志泄露风险增加3. logrotate自动轮转配置3.1 创建logrotate配置文件在/etc/logrotate.d/目录下创建Qwen3.5-9B专用的配置文件sudo vim /etc/logrotate.d/qwen3.5-9b配置文件内容如下/root/qwen3.5-9b/service.log { daily rotate 7 compress delaycompress missingok notifempty create 0644 root root postrotate /usr/bin/supervisorctl restart qwen3.5-9b /dev/null 21 || true endscript }3.2 配置参数说明参数说明推荐值daily每天轮转日志-rotate 7保留7个历史日志文件根据磁盘空间调整compress压缩历史日志-delaycompress延迟压缩前一个日志-missingok日志文件不存在时不报错-notifempty空日志文件不轮转-create 0644 root root新日志文件权限和所有者保持与原始一致postrotate轮转后执行的命令重启服务确保日志正常写入3.3 测试配置执行以下命令测试配置是否正确sudo logrotate -d /etc/logrotate.d/qwen3.5-9b如果测试无误可以手动执行一次轮转sudo logrotate -vf /etc/logrotate.d/qwen3.5-9b4. 磁盘空间预警配置4.1 创建监控脚本在/usr/local/bin/目录下创建磁盘监控脚本sudo vim /usr/local/bin/disk_monitor.sh脚本内容如下#!/bin/bash # 设置阈值百分比 THRESHOLD80 LOG_FILE/var/log/disk_monitor.log QWEN_LOG/root/qwen3.5-9b/service.log # 获取磁盘使用率 DISK_USAGE$(df -h / | awk NR2 {print $5} | tr -d %) # 记录检查时间 echo [$(date)] 磁盘使用率检查: ${DISK_USAGE}% $LOG_FILE # 检查是否超过阈值 if [ $DISK_USAGE -ge $THRESHOLD ]; then # 发送警告邮件需要配置邮件服务 echo 警告: 根分区使用率已达 ${DISK_USAGE}%超过阈值 ${THRESHOLD}% | mail -s 磁盘空间警告 adminexample.com # 自动清理旧日志保留最近3天 find /var/log -name *.gz -mtime 3 -exec rm -f {} \; find /root/qwen3.5-9b -name service.log.*.gz -mtime 3 -exec rm -f {} \; # 记录处理动作 echo [$(date)] 触发清理操作 $LOG_FILE fi4.2 设置脚本权限sudo chmod x /usr/local/bin/disk_monitor.sh4.3 配置cron定时任务编辑crontab配置sudo crontab -e添加以下内容每小时检查一次0 * * * * /usr/local/bin/disk_monitor.sh5. 系统资源监控增强5.1 监控模型服务内存使用创建内存监控脚本sudo vim /usr/local/bin/mem_monitor.sh内容如下#!/bin/bash THRESHOLD90 # 内存使用率阈值 PROCESSqwen3.5-9b LOG_FILE/var/log/mem_monitor.log # 获取进程内存使用率 MEM_USAGE$(ps -o %mem -C python3 | awk NR1 {print $1} | awk {sum$1} END {print sum}) # 记录检查结果 echo [$(date)] ${PROCESS} 内存使用率: ${MEM_USAGE}% $LOG_FILE # 检查是否超过阈值 if (( $(echo $MEM_USAGE $THRESHOLD | bc -l) )); then # 发送警告 echo 警告: ${PROCESS} 内存使用率已达 ${MEM_USAGE}% | mail -s 内存使用警告 adminexample.com # 可选自动重启服务 # /usr/bin/supervisorctl restart qwen3.5-9b fi5.2 设置定时监控添加到crontab每30分钟检查一次*/30 * * * * /usr/local/bin/mem_monitor.sh6. 日志分析优化6.1 配置日志级别修改app.py中的日志配置增加日志级别控制import logging # 设置日志格式和级别 logging.basicConfig( filename/root/qwen3.5-9b/service.log, levellogging.INFO, format%(asctime)s - %(levelname)s - %(message)s, datefmt%Y-%m-%d %H:%M:%S )6.2 关键日志标记在代码中添加关键操作日志logging.info(模型加载开始) # 模型加载代码... logging.info(模型加载完成耗时 %.2f 秒, load_time) logging.info(收到用户请求: %s, user_input) # 处理请求... logging.info(请求处理完成耗时 %.2f 秒, process_time)7. 总结与最佳实践7.1 日志管理最佳实践定期轮转避免单个日志文件过大合理保留根据磁盘空间确定保留周期通常7-30天压缩归档节省磁盘空间权限控制确保日志文件安全服务重启轮转后重启服务确保日志正常写入7.2 磁盘空间监控建议设置合理阈值根据系统负载情况调整通常70-90%分级预警不同阈值采取不同措施自动清理配置自动化清理策略人工审核关键清理操作前建议人工确认监控通知确保管理员能及时收到警报7.3 生产环境维护计划建议执行以下定期维护任务任务频率说明检查日志轮转每日确认日志正常轮转检查磁盘空间每日确认空间充足清理旧日志每周手动清理过期日志检查监控脚本每月确认监控正常运行审核日志内容每月分析潜在问题获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。