Chinaunix首页 | 论坛 | 博客
  • 博客访问: 290853
  • 博文数量: 28
  • 博客积分: 1575
  • 博客等级: 上尉
  • 技术积分: 355
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-22 18:42
个人简介

阿里:高级运维工程师;大众点评:资深运维工程师;目前在创业公司:运维经理

文章分类

全部博文(28)

文章存档

2014年(1)

2013年(5)

2012年(4)

2011年(3)

2010年(2)

2009年(13)

我的朋友

分类: 系统运维

2013-09-02 11:58:11

现象:

8月23之后,时不时收到服务器的/usr used > 90%的报警


排查:

1、du发现磁盘/usr使用不大,而报警使用的df=》明显是有文件删除了空间没释放。

注:du和df的实现机制不同:du统计磁盘上存在的文件然后累加;df通过文件系统索引获取信息(会统计到删除了但是没释放的空间),实现机制的不同也会导致运行速度的区别。

2、用lsof(lsof /usr)查看发现nginx的tmp文件过大,删除之后,但是nginx进程依旧使用,导致空间未释放


解决:

方法1:进程定时重启,以释放空间:因影响用户体验,pass

方法2:不使用nginx的tmpfile:因为api主要是生成静态文件,给用户下载的,so加上缓存还是有一定作用的。所以考虑再三,还是保留。

方法3:限制nginx的tmp文件:以proxy_max_temp_file_siz,限制了每个文件最大300m(即314572800字节).
proxy_max_temp_file_size        300m;

测试效果ok,30号之后就没报警了

注意:线上变更都有风险,这样配置很可能限制了对方下载的文件的最大大小未300m,如果有超过300m的大文件的,请慎重配置。

阅读(6410) | 评论(0) | 转发(0) |
0

上一篇:kernel-devel安装

下一篇:mac安装gcc

给主人留下些什么吧!~~