精华内容
下载资源
问答
  • 使用C++来获取Windows系统所有本地硬盘使用率情况,先获取所有磁盘盘符,再根据盘符获取磁盘空间,计算使用率等。文中有详细注释,具体也可参考我的博客文件
  • Java获取磁盘使用率

    2016-03-09 21:08:14
    通过Java代码获取当前服务器磁盘使用率,对服务器磁盘实现监控,经测试在Linux与window上没问题
  • 概述今天主要介绍怎么用zabbix来监控linux服务器磁盘使用率~1、在Network interface discovery监控原型配置磁盘使用率监控项监控磁盘使用情况需要vfs.fs.size[fs,]键值fs:文件系统mode:模式,total默认全部,free...

    概述

    今天主要介绍怎么用zabbix来监控linux服务器磁盘使用率~


    1、在Network interface discovery监控原型配置磁盘使用率监控项

    监控磁盘使用情况需要vfs.fs.size[fs,]键值

    • fs:文件系统
    • mode:模式,total默认全部,free空闲,used使用,pfree空闲百分比,pused使用百分比
    名称:Used disk space on {#FSNAME} (percentage)键值:vfs.fs.size[{#FSNAME},pused]信息类型:浮点数单位:%
    e39bf9a927d4fec083ee2c1f5d9fa550.png

    2、配置触发器

    名称:Used disk space is more than 85% on volume {#FSNAME}表达式:{linux:vfs.fs.size[{#FSNAME},pused].avg(3m)}>=85
    47891c94d0bc23cbc7efe3c98f737637.png

    3、配置图形

    9e0f206be0b8b323c7e0b242b496d04c.png

    查看图形:

    663356af19b4d13ac9481836b972c22a.png

    后面会分享更多zabbix监控方面的内容,感兴趣的朋友可以关注下!

    c9ecc55479bf4a1102641a7a460bd046.gif
    展开全文
  • shell 计算磁盘使用率

    千次阅读 2019-05-30 17:33:01
    shell bc命令选项scale:可以设置计算结果的小数...#下面注释部分为各个分区的使用率,不是磁盘使用率 #df -h|sed '1d;/ /!N;s/\n//;s/ \+/ /;' |awk '{print $5}' > /root/1.dat #sed -i 's/%//g' /root/1.dat...

    一、要点:
    1、shell bc命令选项scale:可以设置计算结果的小数位数;但是scale只对除法、取余、乘幂有效,对乘法就无效。
    在shell脚本中,bc 引用格式为variable=$(echo “options; expression” | bc);第一部分options允许你设置变量。如果你需要不止一个变量,可以用分号将其分开。expression参数定义了通过bc执行的数学表达式。

    #!/bin/bash
    # 测试bc命令在内联输入重定向下的使用
    var1=3.14
    var2=2.5
    var3=16
    var4=2.7
    
    var5=$(bc << EOF
    scale = 4
    a1 = ( $var1 * $var2)
    a2 = ($var3 * $var4)
    a1 + a2
    EOF
    )
    echo var5 = $var5
    #EOF字符串标识了重定向给bc命令的数据的起止。
    #当然,必须用美刀符$(xxx)来标识出用来给变量赋值的命令。
    

    2、变量运算格式三种方式一样,推荐中括号的方式:i=$[j+k];((i=j+k)) ; i=expr $j + $k

    		test:
    		    #!/bin/bash
    		j=10
    		k=11							
    		i=0
    		i=$[j+k]
    		echo "stat 1: $i"						
    		i=0
    		((i=j+k))
    		echo "stat 2: $i"						
    		i=0
    		i=`expr $j + $k`
    		echo "stat 3: $i"					
        print result:
        	 bash 1.sh
    		stat 1: 21
    		stat 2: 21
    		stat 3: 21
    		其中`expr $j + $k`俩边的命令顿号CSDN博客不能显示出来,是CSDN的锅。
    

    3、字符串的截取

    感谢连接作者:https://www.cnblogs.com/zwgblog/p/6031256.html
    假设有变量 var=http://www.aaa.com/123.htm.
    1. #*符号 ,删除(从左边开始第一个)符号左边字符串,保留符号右边字符串。
    echo ${var#*/}
    结果是 :/www.aaa.com/123.htm.
    
    2. ##*符号 ,删除(从右边开始第一个)符号左边字符串,保留符号右边字符串。
    echo ${var##*/}
    结果是 :123.htm.
    
    3. %符号* ,删除(从右边开始第一个)符号右边字符串,保留符号左边字符串。
    echo ${var%/*}
    结果是 :http://www.aaa.com
    
    4. %%符号* ,删除(从左边开始第一个)符号右边字符串,保留符号左边字符串。
    echo ${var%%/*}
    结果是 :http:
    
    5. 保留开头几个字符:从左边第几个字符开始,及字符的个数
    echo ${var:0:4}
    其中的 0 表示左边第一个字符开始,4表示字符的总个数。
    结果是:http
    
    6. 从左边第几个字符开始,一直到结束。
    echo ${var:7}
    其中的 7 表示左边第8个字符开始,一直到结束。
    结果是 :www.aaa.com/123.htm
    
    7. 从右边第几个字符开始,及字符的个数
    echo ${var:0-1:3}
    其中的 0-1 表示右边算起第1个字符开始,3 表示字符的个数。
    结果是:. 从结果可以看到字符顺序是从左至右,右边第一个字符开始,取3个字符结果就是个字符. 。
    
    8. 从右边第几个字符开始,一直到结束。
    echo ${var:0-7}
    表示从右边第七个字符开始,一直到结束。
    结果是:23.htm.
    注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
    

    二、磁盘使用率计算 :

    	#!/bin/bash
    	#下面注释部分为各个分区的使用率,不是磁盘的使用率
    	#df -h|sed '1d;/ /!N;s/\n//;s/ \+/ /;' |awk '{print $5}' > /root/1.dat
    	#sed -i 's/%//g' /root/1.dat
    	
    	#DiskU=0
    	#for  i  in  `cat /root/1.dat`
    	#do
    	#       DiskU=`expr $DiskU + $i`
    	#done
    	
    	#下面是设备磁盘的使用率
    	fdisk -l|grep "Disk /dev/sd" |awk -F"," '{print $2}'|awk '{print $1}'> /tmp/1.dat
    	DiskT=0
    	for  i  in  `cat /tmp/1.dat`
    	do
    	       DiskT=`expr $DiskT + $i`
    	done
    	#echo $DiskT
    	
    	DiskTU=0
    	df -hP |awk '{print $3}' > /tmp/1.dat
    	for  i  in  `cat /tmp/1.dat`
    	do
    	        DiskU=0
    	        DiskTmp=0
    	        if [ ${i:0-1:1} == 'T' ];then
    	                DiskTmp=`echo $i|awk -F"T" '{print $1}'`
    	                DiskU=$(printf "%.f" `echo "scale=0;$DiskTmp*1024*1024*1024*1024"|bc`)
    	        elif [ ${i:0-1:1} == 'G' ];then
    	                DiskTmp=`echo $i|awk -F"G" '{print $1}'`
    	                DiskU=$(printf "%.f" `echo "scale=0;$DiskTmp*1024*1024*1024"|bc`)
    	                #echo $DiskTmp
    	                #echo $DiskU
    	        elif [ ${i:0-1:1} == 'M' ];then
    	                DiskTmp=`echo $i|awk -F"M" '{print $1}'`
    	                DiskU=$(printf "%.f" `echo "scale=0;$DiskTmp*1024*1024"|bc`)
    	        elif [ ${i:0-1:1} == 'k' ];then
    	                DiskTmp=`echo $i|awk -F"K" '{print $1}'`
    	                DiskU=$(printf "%.f" `echo "scale=0;$DiskTmp*1024"|bc`)
    	        fi
    	
    	        DiskTU=$[DiskU+DiskTU]
    	done
    	#echo $DiskTU
    	DiskU=0
    	DiskU=$(printf "%.f" `echo "scale=3;$DiskTU/$DiskT*100"|bc`)
    	echo $DiskU
    	#上面部分是磁盘的使用率获得过程
    
    测试结果:
    
    	[root@1]# df -h
    	文件系统              容量  已用 可用 已用% 挂载点
    	/dev/mapper/VolGroup00-LogVol00
    	                      113G  5.4G  102G   5% /
    	/dev/sda1             130M   16M  108M  13% /boot
    	tmpfs                 2.0G     0  2.0G   0% /dev/shm
    	[root@1]#fdisk -l
    	
    	Disk /dev/sda: 128.0 GB, 128035676160 bytes
    	255 heads, 63 sectors/track, 15566 cylinders
    	Units = cylinders of 16065 * 512 = 8225280 bytes
    	
    	   Device Boot      Start         End      Blocks   Id  System
    	/dev/sda1   *           1          17      136521   83  Linux
    	/dev/sda2              18       15566   124897342+  8e  Linux LVM
    	[root@1]# bash 1.sh
    	4
    
    展开全文
  • 一个统计 CPU 内存 硬盘 使用率的shell脚本,供大家学习参考
  • 早晨到公司有台服务器报警 磁盘使用率大于85 收到任务先通过堡垒机连接服务器 使用k8s命令进入容器服务 kubectl exec -i -t aks-ssh1 bash 连接云服务 查看 磁盘占用率 df -h 可以明显的看出 Mounted 的mnt ...

    本人运维新手 不喜勿喷 本帖只是总结经验 

    首先鸣谢 公司的马老师

    早晨到公司有台服务器报警 磁盘使用率大于85

    收到任务先通过堡垒机连接服务器

    使用k8s命令进入容器服务

    kubectl exec -i -t aks-ssh1 bash

    连接云服务

    查看 磁盘占用率 df -h 

    可以明显的看出 Mounted 的mnt 盘 Userd的占用量是157G Avail 30G 

    cd /mnt

    查看 目录文件容量占比 du -sh *

    明显看出生产环境的日志有些多 

    逐一进去清理日志文件 发现日志在去年7月的还有

    想法是删除去年所有日志

    由于是开发出身. 第一时间想到的就是用python 写个脚本 定时去执行 跟着路径名称和 删除年限来过滤 但是因为是第一次 所以就手动了

    rm -rf service-xxx-2020*删除所有2020年信息

    随后发现  /mnt  目录下 MongoDB备份占空间很大. 从3月到现在每天备份一次. 一次1.9G到2G不等

    我自己也是开发出身所以知道. 一般数据库备份 15天是极限了. 

    所以预定 4月10前所有的MongoDB备份全部删除

    rm - backtime-2021-03*

    由于备份的日志 4月只要4.10以后的 

    所以命令可以这么写

    rm -backtime-2021-04-0*

    再次查看

    清理大约66G磁盘容量

    且阿里云云监控不在报警

    群里回复解决云服务报警问题

    磁盘使用率报警已解决 主要是日志和数据库备份过大 造成的问题.
    后续解决方案:
    写一个专门删除 备份和日志的脚本 

    清理完全之后马老师贴心给出删除命令和查看 和容器命令

    #查看哪些日志占用
    /usr/bin/find /var/lib/docker/overlay2/ -size +200M -name *log* -exec ls -lh {} \;
    #清理
    /usr/bin/find /var/lib/docker/overlay2/ -size +200M -name *log* |awk '{print "echo > "$0}'|bash
    #定时任务
    0 0 * * * /usr/bin/find /var/lib/docker/overlay2/ -size +200M -name *log* |awk '{print "echo > "$0}'|bash

    docker容器日志的清理

    #查看容器占用空间
    docker system df
    #清理容器
    docker system prune -a

     

    展开全文
  • 一、查看CPU使用率 1、top命令 在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。常用的查看CPU使用率命令为top命令。 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程...

    一、查看CPU使用率

    1、top命令
    在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。常用的查看CPU使用率命令为top命令。

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

    top:Time of Process查看系统当前运行的情况,CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里,是内存不够、CPU处理能力不够、IO读写过高。

    top命令很常用,在第三行有显示CPU当前的使用情况。

     

    1.png

    如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。

    %us:表示用户空间程序的cpu使用率(没有通过nice调度)

    %sy:表示系统空间的cpu使用率,主要是内核程序。

    %ni:表示用户空间且通过nice调度过的程序的cpu使用率。

    %id:空闲cpu

    %wa:cpu运行时在等待io的时间

    %hi:cpu处理硬中断的数量

    %si:cpu处理软中断的数量

    %st:被虚拟机偷走的cpu

    注:96.9id,表示空闲CPU,即CPU未使用率,100%-96.9%=3.1%,即系统的cpu使用率为3.1%。

    2、其他命令可参考

    二、查看内存使用率

    1、top命令

     

    2.png

    (1)查看第四行KiB Mem
    (2)内存使用率=used/ total
    2、free命令
    可参考--正确计算Linux系统内存使用率

    三、查看磁盘使用率

    1、输入df命令

     

    3.png

     

    2、磁盘使用率=(Used列数据之和)/(1k-blocks列数据之和)

     

     

     

    四、查看磁盘大小

    df -hl

    注意事项:磁盘和内存的区别与联系:

    磁盘--也叫硬盘--或是U盘--或是移动硬盘
    1、硬盘与内存都是存储器,一个是内部,一个是外部。
    2、硬盘与内存的区别是很大的,这里只谈最主要的三点:1)内存是计算机的工作场所,硬盘用来存放暂时不用的信息;2)内存是半导体材料制作,硬盘是磁性材料制作;3)内存中的信息会随掉电而丢失,硬盘中的信息可以长久保存。
    3、内存与硬盘的联系也非常密切:这里只提一点:硬盘上的信息永远是暂时不用的,要用吗?请装入内存!CPU与硬盘不发生直接的数据交换,CPU只是通过控制信号指挥硬盘工作,硬盘上的信息只有在装入内存后才能被处理。
    4、计算机的启动过程就是一个从硬盘上把最常用信息装入内存的过程。
    5、硬盘则决定你的电脑可以装下多少东西,内存则决定你的电脑开机后一次最多可以运行多少程序(如手机运行内存)。

     

    展开全文
  • 线上机器一直再报 磁盘使用率大于90%,发现/var/log/下边有个mail文件,很大就直接清理掉>mail 但是这个问题反复出现,感觉一个没有什么业务的机器怎么磁盘使用率那么大 就查了下mail日志文件的形成 ps 发现有...
  • Linux系统查看CPU使用率、内存使用率磁盘使用率

    万次阅读 多人点赞 2019-04-16 15:17:00
    一、查看CPU使用率 1. top 命令 top命令可以看到总体的系统运行状态和cpu的使用率 。 %us:表示用户空间程序的cpu使用率(没有通过nice调度) %sy:表示系统空间的cpu使用率,主要是内核程序。 %ni:表示用户空间...
  • 查看 cpu 使用率脚本 cpu_id=`top -bn 1 | sed -n 3p |awk -F , '{print $4}'|awk '{print $1}'` echo -e "${cpu_id}"|awk '{printf "%2.2f",100-$1}' 查看内存使用率脚本 set -u InfoFile="/proc/meminfo" [[ -f ...
  • 【shell案例】检测磁盘使用率

    千次阅读 2020-08-22 08:15:34
    [root@ecs-c13b ~]# cat fdisk.sh #!/bin/bash # 截取IP IP=`ifconfig eth0 |awk -F " " 'NR==2{print $2}'` ... echo "$IP的磁盘使用率已经超过了90%,请及时处理" fi done 本题里如果还要拓展的话,可以
  • 在qemu-2.11.0中增加获取vm根目录磁盘使用率qga接口,仅供初学qemu QGA代码框架的程序猿使用。
  • 5. 监控磁盘使用率

    千次阅读 2019-01-15 16:26:33
    本案例就是要监控磁盘使用率。 具体要求如下: 1)每分钟检测一次磁盘状况; 2)当磁盘空间使用率或inode使用率高于90%,需要发邮件告警,假设收件邮箱为admin@admin.com ; 3)统计使用率超过90%的分区所有子目录...
  • 鉴于某个垃圾博主只搬运两个小功能,竟然收30分,实在忍无可忍这种垃圾。app需要系统签名才可以获取信息,普通权限app只能部分信息。
  • 最近经常收到阿里云告警短信:云服务器实例发生告警,磁盘使用率(98%>85%),持续时间XX天XX时XX分钟。 显然是由于磁盘使用率超过了设置所以进行告警,具体解决如下:(在root账户登录下) 1.直接使用df -h的命令...
  • 监控磁盘使用率 zabbix自带的key基本能满足监控需求,但面对现实场景中复杂的监控需求,往往少不了用到zabbix 监控的一种类型-可计算。计算公式可利用现定义好的key进行新的定义,以满足自身监控需求。 1. 现定义好...
  • 在工作中经常需要在C#中使用本机信息,我将其简单地整理了一下。... #region 获取磁盘占用  internal static double GetUsedDiskPercent()  {  float? usedSize = GetUsedDiskSize();  float? totalS...
  • 监控磁盘使用率的shell脚本

    千次阅读 2018-10-23 19:51:42
    磁盘空间使用率或者inode使用率高于90%的情况,就需要报警。并把统计使用率超过90%的分区的所有的子目录的,按照大小依次排列,把前3的目录名称发给到邮箱。第一次未处理,30分钟后在一次。 #!/bin/...
  • 已经在多个商业项目中使用。 2:所有功能全平台 win linux armlinux 亲测无误,网络上的基本上是烂的或者不可用的,不知道走过多少弯路。 3:linux下CPU占用的计算非常准确,支持多核。 4:硬盘容量计算极速。...
  • 硬盘使用率100%

    千次阅读 2019-10-27 13:17:28
    经过一番分析后发现硬盘使用率经常达到100%,网上这个问题很多人也都遇到了,但一一试过后发现效果不明显,后来发现是和Storage Service这个服务有关,关闭这个服务后硬盘使用率降到20%,应该是解决了。 Storage ...
  • 使用机械硬盘的时候每打开一个应用程序磁盘使用率马上100%,导致电脑卡顿,硬盘发出响声! 直接上解决办法 如果
  • linux 磁盘使用率When administrating Linux systems we can found us tracking disk usage. Linux uses different partitions to store data. There are some temp files located in/tmpor different paths. Some ...
  • 磁盘使用率达到100%

    万次阅读 2018-06-19 17:13:10
    磁盘使用率达到100%问题描述:电脑开机后电脑磁盘使用率100%且居高不下,通过在网上搜索办法,关闭服务家庭组、superfetch服务没有多大效果,开始关掉super fetch后发现有了效果,后来打开电脑后又出现了。...
  • 公司使用的openstack的备份服务组件karbor,要查询所使用的备份nas磁盘使用率的需求,根据以前的查询语句,很快写出如下的prom sql 100-topk(1,node_filesystem_free{device=~":/.*"}*100/node_filesystem_size...
  • 故障监控——磁盘使用率告警

    千次阅读 2019-03-13 22:44:34
    磁盘占用 linux下使用df -hl可以查看当前服务器使用情况。 产生原因 应用服务器上一般来说,持续写入,产生巨大的文件,一般是日志类文件,如果是db的服务器的话,要注意数据的增长。 排查步骤 服务器还可以...
  • 早上起来发现半夜服务器发来的邮件,磁盘使用率超过50%。按照预计没有那么快到这个程度。于是进行排查。 df -h 发现是root下的空间不够。 找不到原因 。。。 于是使用find / -xdev -size +100M -exec ls -l {} \; ...
  • Linux 查看磁盘使用率

    千次阅读 2017-12-16 10:44:26
    1. df -h 2. du -sh /root/Desktop //du -sh 要查询的路径
  • python version: 2.7.5 #!/usr/bin/python #by fuqiang #2019-04-01 import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('192.168.140.115',22...
  • 利用 awk 命令计算磁盘使用率

    千次阅读 2019-04-12 18:06:34
    利用 df 命令计算 Linux 系统上磁盘使用率,脚本编写过程有些周折,没想到不同操作系统上 df 命令的输出内容还有差异,所以脚本需要定制编写。 脚本思路 利用 awk ,累加 used 列得到已使用的空间大小,然后将 ...
  • AWS-EC2 内存和磁盘使用率的监视

    千次阅读 2019-02-06 09:59:33
    AWS提供的CloudWatch中,没有提供内存使用率磁盘使用率的信息,因此需要手动添加cron 不过,AWS提供了官方的脚本,可以直接下载安装 官方文档: 内存使用率. 以 Amazon Linux AMI 为例。 Role确认 首先确保用户权限...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 272,853
精华内容 109,141
关键字:

磁盘使用率