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性能监控,文件系统空间使用监控都是有利的。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
linux查看根目录使用率,Linux 查看空间使用情况的实例详解相关推荐
- linux查看空间使用情况并且清除,科技常识:Linux 查看空间使用情况的实例详解...
今天小编跟大家讲解下有关Linux 查看空间使用情况的实例详解 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Linux 查看空间使用情况的实例详解 的相关资料,希望小伙伴会喜欢也能够帮助 ...
- Linux 创建网页服务,Linux使用Node.js建立访问静态网页的服务实例详解
Linux使用Node.js建立访问静态网页的服务实例详解 一.安装node.js运行所需要的环境,: 二.创建node目录(/node/www),并在目录下创建node.js服务文件server.j ...
- linux mysql 静态库_Linux静态库与动态库实例详解
Linux静态库与动态库实例详解 1. Linux 下静态链接库编译与使用 首先编写如下代码: // main.c #include "test.h" int main(){ te ...
- python 3d绘图平面_python 用 matplotlib 在 3D 空间中绘制平面 实例详解
#创建画布 fig = plt.figure(figsize=(12, 8), facecolor='lightyellow')#创建 3D 坐标系 ax = fig.gca(fc='whitesmo ...
- linux git 删除分支,git 删除分支和回滚的实例详解
linux shell 的 git 删除分支和回滚的实例详解 git 删除分支和回滚的实例详解 [git 删除本地分支] git branch -D br [git 删除远程分支] git push ...
- linux shell 端口占用,linux 查看端口占用命令实例详解
linux 查看端口占用命令实例详解 端口是系统非常重要的一个东东,我们经常需要查看哪个进程占用了哪个端口,或者哪个端口被哪个进程占用.废话不多说,直接上干货,教大家怎样查看系统端口占用情况. 方法一 ...
- 一个查看全部用户的磁盘空间使用情况的脚本
一个查看全部用户的磁盘空间使用情况的脚本 脚本程序例如以下: #!/bin/sh for user in `ls /home` dodu -hs "/home/"$user don ...
- linux dstat 监控软件,Linux 全能系统监控工具dstat的实例详解
全能系统监控工具dstat dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品.dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项, ...
- linux系统编程之进程(八):守护进程详解及创建,daemon()使用
linux系统编程之进程(八):守护进程详解及创建,daemon()使用 一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等 ...
最新文章
- Java调用python打包的程序.exe,包括获取exec()中打印的日志,亲测有效
- ffmpeg 编译安装 ubuntu18.04 4.1
- 网络爬虫入门系列(3) httpClient
- express.static 和 lit-html
- HA3、iGraph和DII服务框架统一之战
- 斥资57亿美金,Facebook 入局印度 | 凌云时刻
- 在QT中配置snap7库
- 微积分基础1-微分篇
- 虚拟机中无法使用鼠标滚轮(罗技鼠标)
- 美团外卖特征平台的建设与实践
- 怎么取消linux ssh互信,[系统-linux] ssh互信操作
- win7做服务器性能如何,win7如何做服务器配置
- 电气器件系列二十四:电子式压力传感器PPG-D(1)
- window子对象的详细介绍 _@jie
- win7如何设置通电自动开机_dell主板win10如何设置通电自动启动_dell主板win10怎么设置通电自动启动...
- 虚幻引擎图文笔记:用Two Bone IK实现手扶墙
- AP模式(路由器的几种模式)
- win7 怎样找到 显示桌面
- 第四届橙瓜网络文学奖网文之王我吃西红柿竟然还不敌新人作者?
- python--如何使用 Pylint 来检查分析Python 代码
热门文章
- ARP监控工具ARPalert常用命令集合大学霸IT达人
- stm32 温湿度_基于STM32单片机大棚温湿度检测无线蓝牙APP控制设计
- mac电脑配置java环境变量_教你在Mac系统中配置JAVA环境变量的方法
- hadoop元数据mysql中表字段_Hive 元数据表结构详解
- 基于分类任务的信号(EEG)处理
- java I/O
- c 创建mysql实体模型_EntityFrameworkCore 根据实体类自动创建数据库
- 一个小灯泡引发大论战:千万粉丝科普up主翻车,伊朗“唐马儒”、李永乐等下场,30万公里导线引百万网友围观...
- 芯片巨人也要搞医疗?
- 李飞飞团队给机器人造了一个“模拟厨房”:洗切炒菜一条龙训练!人类还能VR监管 | 开源...