Linux

文件系统使用率du、df二者相差过大的问题

今天在单位遇到一个问题,有一台服务器文件系统的磁盘使用率超过80%,因此打算清理一下没用的文件。 使用df检查发现/home目录占用了105G,而用du命令检查/home目录只占用了64G,整整差了41G!即使df与du命令的检查结果是可能会存在些许不同,但相差了这么多,明显是有问题了。通常导致这个问题的原因,当一个文件被删除后,在目录中已经不可见了,所以du就不会再统计它了。然而如果此时还有进程持有这个已经被删除了的文件的句柄,那么这个文件就不会真正在磁盘中被删除,这样df仍旧会统计这个被删除了的文件。 我们可以使用lsof命令(list open files)来检查被打开的文件,并grep下是否已经deleted(很不幸,检测是否deleted这个,并不是所有系统的lsof都支持的,我的mac就不会。 那样的话只能自己写个脚本一个一个文件去检查是否还在目录中了) 检查结果如上图,这两个pid为8363、8364的jsvc进程打开了已经被删除的日志文件catalina.out.8,而且这个文件有40G之大! =。=#  我怀疑是这个系统的开发人员以为写个定时任务删除了过期日志文件就好了,结果在程序中又没有关闭这个文件句柄,还接着往这个文件里面倒数据。。。 解决办法一是重启对应的进程,释放该文件句柄;二是使用命令清空文件$cat /dev/null > filename。

ssh代理:给系统分配一个无登陆权限的账号来做ssh代理

之前申请了一个免费的亚马逊云服务器作为VPN Server,同时自己电脑使用默认的ubuntu账号进行ssh翻墙:firefox+foxyproxy+ssh简直不要太方便。附上一份本机开启ssh隧道的shell脚本: #! /bin/bash pid=$(ps -ef|grep 'ssh -qTfnN -D 3128'|grep -v grep|awk '{print $2}') if [[ $pid = "" ]]

linux常用系统命令

1. top 检查系统cpu、内存以及进程情况。 按shift+m    可以按内存使用率排序进程 按shift+p     可以按cpu使用率排序进程 按shift+t      可以按cpu使用时间排序进程 按shift+n     可以按pid排序进程 按1                  可以显示cput各核的负载 按u,再输入user name 

CentOS 6.3升级php5.5

在CentOS 6.3 系统下直接yum install php,默认安装的是php 5.3。前几天为了解决php耗尽内存导致宕机的情况,顺便将php 5.3升级成5.5了。 1. 检查系统当前安装过的php程序包 yum list installed | grep php 然后将查到的相关php程序以及扩展库卸载掉 yum remove php php-fpm

CentOS下php-fpm进程cpu占用率100%导致无法访问的情况

最近我的阿里云服务器经常出现网站无法访问的情况,同时也无法ssh登陆,只有服务器ip可以ping通。只能通过阿里云后台重启系统才能恢复。之前也出现过几次,但一直懒得处理,还天真的认为是不是太久没访问系统待机了,=。=#   现在得干点活了。(ง •̀_•́)ง   1. 在阿里云后台添加站点监控,监控hawu.me访问超时的情况。 2015.3.4 18:40 收到监控告警, hawu.me无法访问。赶紧尝试ssh服务器,果然无法登陆了。阿里云监控显示服务器cpu使用率100% 。   2. 重启服务器后查看系统日志(/var/log/messages)与php日志(/var/log/php-fpm/error.log) 这时候的php日志记录如下: [04-Mar-2015 18:32:02] WARNING: [pool www] seems

Scroll to Top