linux历史空间使用情况,Linux 查看空间使用情况的实例详解

Linux 查看空间使用情况的实例详解

在日常的Linux巡检中,我们会遇到文件系统目录使用空间很高的情况,例如如下利用”df -h “查看到根目录空间使用超过80%。而我们仅仅知道是根目录空间使用过高,这样是不够的。还需要知道是目录还是文件让根目录空间使用过高。通常我们使用的命令是”du -sh *”。

第一步:查看Linux系统的文件系统使用情况,如下可以看到根目录”/”已经使用81%。[root@hostname ~]# df -h

Filesystem      Size Used Avail Use% Mounted on

/dev/sda6       67G  51G  13G 81% /

tmpfs         16G 152K  16G  1% /dev/shm

/dev/sda3       99G 188M  94G  1% /arch

/dev/sda1       197G 188M 187G  1% /u01

/dev/sda2       197G  50G 138G 27% /u02

第二步:进入根目录,利用du -sh 命令查询各个目录或者文件占用空间的情况,因为/u02是独立的文件系统,所以可以忽略。我们关注的是root这个目录,占用了空间47G。[root@hostname ~]# cd /

[root@hostname /]# du -sh *

20K   arch

7.6M  bin

27M   boot

324K  dev

36M   etc

36K   home

136M  lib

26M   lib64

16K   lost+found

4.0K  media

0    misc

4.0K  mnt

0    net

8.0K  opt

4.0K  orbit-root

--省略/proc目录统计的报错

0    proc

47G   root  ##根目录文件系统使用最大的目录

15M   sbin

0    selinux

4.0K  srv

0    sys

80K   tmp

20K   u01

49G   u02

第三步:进入root目录,其实也是root用户的主目录。我们从ls命令可以猜到可能是【apache-tomcat-6.0.36-linux】这个tomcat的程序目录占用比较多。[root@hostname /]# cd root

[root@hostname ~]# ls

anaconda-ks.cfg apache-tomcat-6.0.36-linux Desktop Documents Downloads install.log install.log.syslog Music Pictures Public Templates Videos

第四步:通过统计发现,确实是【apache-tomcat-6.0.36-linux】这个目录占用了47G。但是到此问题还没有结束,因为既然是应用程序的目录,根据我的经验很可能是tomcat的日志文件占用空间比较多。[root@hostname ~]# du -sh *

4.0K  anaconda-ks.cfg

47G   apache-tomcat-6.0.36-linux

4.0K  Desktop

4.0K  Documents

4.0K  Downloads

56K   install.log

12K   install.log.syslog

4.0K  Music

4.0K  Pictures

4.0K  Public

4.0K  Templates

4.0K  Videos

第五步:既然看到有tomcat的目录,很可能这个tomcat运行着,利用ps命令查看是否有tomcat的进程,一般可以过滤java这个关键词。如下,果然有tomcat在运行着。那么很可能占用空间最多就是tomcat的日志文件。[root@hostname ~]# ps -ef|grep java

root   4879 4836 0 08:26 pts/0  00:00:00 grep java

root   11864   1 47 Aug16 ?    26-03:11:29 /usr/bin/java -Djava.util.logging.config.file=/root/apache-tomcat-6.0.36-linux/conf/logging.properties -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/root/apache-tomcat-6.0.36-linux/endorsed -classpath /root/apache-tomcat-6.0.36-linux/bin/bootstrap.jar -Dcatalina.base=/root/apache-tomcat-6.0.36-linux -Dcatalina.home=/root/apache-tomcat-6.0.36-linux -Djava.io.tmpdir=/root/apache-tomcat-6.0.36-linux/temp org.apache.catalina.startup.Bootstrap start

第六步:进入tomcat的程序目录,查看哪个目录占用的空间最大。如下,发现是一个【fare】的目录占用了46G,而【logs】是日志目录却占用了23M。[root@hostname ~]# cd apache-tomcat-6.0.36-linux

[root@hostname apache-tomcat-6.0.36-linux]# ls

backup bin conf fare lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work

[root@hostname apache-tomcat-6.0.36-linux]# du -sh *

92K   backup

882M  bin

108K  conf

46G   fare

6.8M  lib

40K   LICENSE

23M   logs

4.0K  NOTICE

12K   RELEASE-NOTES

16K   RUNNING.txt

7.9M  temp

188M  webapps

7.1M  work

第七步:继续一探究竟【fare】目录里面到底存放的是什么类型的目录或者文件。如下看到有很多类似日志文件,如common.log和pricing.log。通过和开发人员沟通之后,确定确实日志文件。[root@hostname apache-tomcat-6.0.36-linux]# cd fare

[root@hostname fare]# ls

common.log       common.log.2017-09-21 common.log.2017-10-03   pricing.log.2017-09-10 pricing.log.2017-09-22 pricing.log.2017-10-04

common.log.2017-09-10 common.log.2017-09-22 common.log.2017-10-04   pricing.log.2017-09-11 pricing.log.2017-09-23 pricing.log.2017-10-05

common.log.2017-09-11 common.log.2017-09-23 common.log.2017-10-05   pricing.log.2017-09-12 pricing.log.2017-09-24 pricing.log.2017-10-06

common.log.2017-09-12 common.log.2017-09-24 common.log.2017-10-06   pricing.log.2017-09-13 pricing.log.2017-09-25 pricing.log.2017-10-07

common.log.2017-09-13 common.log.2017-09-25 common.log.2017-10-07   pricing.log.2017-09-14 pricing.log.2017-09-26 pricing.log.2017-10-08

common.log.2017-09-14 common.log.2017-09-26 common.log.2017-10-08   pricing.log.2017-09-15 pricing.log.2017-09-27 pricing.log.2017-10-09

common.log.2017-09-15 common.log.2017-09-27 common.log.2017-10-09   pricing.log.2017-09-16 pricing.log.2017-09-28 spring.log

common.log.2017-09-16 common.log.2017-09-28 common.zip        pricing.log.2017-09-17 pricing.log.2017-09-29 struts2.log

common.log.2017-09-17 common.log.2017-09-29 framework.log       pricing.log.2017-09-18 pricing.log.2017-09-30 xwork2.log

common.log.2017-09-18 common.log.2017-09-30 hibernate.log       pricing.log.2017-09-19 pricing.log.2017-10-01

common.log.2017-09-19 common.log.2017-10-01 hibernate.log.2017-01-03 pricing.log.2017-09-20 pricing.log.2017-10-02

common.log.2017-09-20 common.log.2017-10-02 pricing.log        pricing.log.2017-09-21 pricing.log.2017-10-03

第八步:继续查看哪个目录或者文件占用的空间最大,发现都是common.log和pricing.log相关的文件占用的空间最大,都是700M以上。至此,已经查明占用根目录”/”空间最多的原因是tomcat的日志文件太多,而且每一个日志文件都很大。[root@hostname fare]# du -sh *|sort -h

0    framework.log

0    hibernate.log.2017-01-03

0    spring.log

0    struts2.log

0    xwork2.log

4.0K  hibernate.log

17M   common.zip

215M  pricing.log

216M  common.log

667M  pricing.log.2017-10-08

668M  common.log.2017-10-08

674M  common.log.2017-10-05

674M  pricing.log.2017-10-05

678M  common.log.2017-10-07

678M  pricing.log.2017-10-07

679M  common.log.2017-10-06

679M  pricing.log.2017-10-06

683M  common.log.2017-10-04

683M  pricing.log.2017-10-04

690M  pricing.log.2017-09-10

691M  common.log.2017-09-10

711M  common.log.2017-09-12

711M  pricing.log.2017-09-12

719M  pricing.log.2017-09-11

720M  common.log.2017-09-11

737M  common.log.2017-09-30

737M  pricing.log.2017-09-28

737M  pricing.log.2017-09-30

738M  common.log.2017-09-28

742M  common.log.2017-09-29

742M  pricing.log.2017-09-29

744M  pricing.log.2017-10-09

745M  common.log.2017-10-09

751M  common.log.2017-10-01

751M  pricing.log.2017-10-01

754M  common.log.2017-09-13

754M  pricing.log.2017-09-13

760M  common.log.2017-10-03

760M  pricing.log.2017-10-03

783M  pricing.log.2017-10-02

784M  common.log.2017-10-02

791M  pricing.log.2017-09-18

792M  common.log.2017-09-18

797M  common.log.2017-09-27

797M  pricing.log.2017-09-27

804M  common.log.2017-09-17

804M  common.log.2017-09-19

804M  pricing.log.2017-09-17

804M  pricing.log.2017-09-19

808M  common.log.2017-09-26

808M  pricing.log.2017-09-26

815M  pricing.log.2017-09-24

816M  common.log.2017-09-24

821M  common.log.2017-09-14

821M  pricing.log.2017-09-14

821M  pricing.log.2017-09-23

822M  common.log.2017-09-23

826M  common.log.2017-09-25

826M  pricing.log.2017-09-25

827M  common.log.2017-09-16

827M  pricing.log.2017-09-15

827M  pricing.log.2017-09-16

828M  common.log.2017-09-15

831M  common.log.2017-09-22

831M  pricing.log.2017-09-22

851M  common.log.2017-09-21

851M  pricing.log.2017-09-21

860M  common.log.2017-09-20

860M  pricing.log.2017-09-20

第九步:从文件的命令规律,可以看出日志文件日期保留一个月,检查root用户是否有定时删除日志文件计划。如下命令查看所示,确实有每天凌晨03:15进行日志文件删除的计划。但是由于日志文件太多和根目录空间大小原因,导致根目录空间使用比例过高。在有部署自动监控工具,如zabbix等,会自动发送告警。[root@hostname ~]# crontab -l

15 3 * * * /u02/shell/rm_log_pricing.sh

[root@hostname ~]# cat /u02/shell/rm_log_pricing.sh

find /root/apache-tomcat-6.0.36-linux/bin/fare/ -name "common.log.2*" -mtime +30 | xargs rm -f

find /root/apache-tomcat-6.0.36-linux/bin/fare/ -name "pricing.log.2*" -mtime +30 | xargs rm -f

从运维的角度,不建议tomcat等应用程序部署在和Linux操作系统相关的文件系统中,尤其是直接部署在根目录下。一般都建议使用独立的文件系统来部署应用程序,无论从IO性能监控,文件系统空间使用监控都是有利的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值