Linux Shell查看磁盘分区,内存使用,CPU使用率

#!/bin/bash

#disk_used_rate
Location=/dev/xvdb
Disk_Used_Rate=$(df -h | grep $Location | awk ‘{print $5}‘)
echo "Disk Used Rate : $Disk_Used_Rate"

#memory_used_rate
LoadMemory=$(cat /proc/meminfo | awk ‘{print $2}‘)
Total=$(echo $LoadMemory | awk ‘{print $1}‘)
Free1=$(echo $LoadMemory | awk ‘{print $2}‘)
Free2=$(echo $LoadMemory | awk ‘{print $3}‘)
Free3=$(echo $LoadMemory | awk ‘{print $4}‘)

Used=`expr $Total - $Free1 - $Free2 - $Free3`
Used_Rate=`expr  $Used/$Total*100`
Memory_Used_Rate=`expr  $Used_Rate/1`
echo "Memory Used Rate : $Memory_Used_Rate%"

interval=3
cpu_num=`cat /proc/stat | grep cpu[0-9] -c`

start_idle=()
start_total=()
cpu_rate=()

    for((i=0;i<${cpu_num};i++))
    {
        start=$(cat /proc/stat | grep "cpu$i" | awk ‘{print $2" "$3" "$4" "$5" "$6" "$7" "$8}‘)
        start_idle[$i]=$(echo ${start} | awk ‘{print $4}‘)
        start_total[$i]=$(echo ${start} | awk ‘{printf "%.f",$1+$2+$3+$4+$5+$6+$7}‘)
    }
    start=$(cat /proc/stat | grep "cpu " | awk ‘{print $2" "$3" "$4" "$5" "$6" "$7" "$8}‘)
    start_idle[${cpu_num}]=$(echo ${start} | awk ‘{print $4}‘)
    start_total[${cpu_num}]=$(echo ${start} | awk ‘{printf "%.f",$1+$2+$3+$4+$5+$6+$7}‘)
    sleep ${interval}
    for((i=0;i<${cpu_num};i++))
    {
        end=$(cat /proc/stat | grep "cpu$i" | awk ‘{print $2" "$3" "$4" "$5" "$6" "$7" "$8}‘)
        end_idle=$(echo ${end} | awk ‘{print $4}‘)
        end_total=$(echo ${end} | awk ‘{printf "%.f",$1+$2+$3+$4+$5+$6+$7}‘)
        idle=`expr ${end_idle} - ${start_idle[$i]}`
        total=`expr ${end_total} - ${start_total[$i]}`
        idle_normal=`expr ${idle} \* 100`
        cpu_usage=`expr ${idle_normal} / ${total}`
        cpu_rate[$i]=`expr 100 - ${cpu_usage}`
        echo "CPU$i Rate : ${cpu_rate[$i]}%"
    }
    end=$(cat /proc/stat | grep "cpu " | awk ‘{print $2" "$3" "$4" "$5" "$6" "$7" "$8}‘)
    end_idle=$(echo ${end} | awk ‘{print $4}‘)
    end_total=$(echo ${end} | awk ‘{printf "%.f",$1+$2+$3+$4+$5+$6+$7}‘)
    idle=`expr ${end_idle} - ${start_idle[$i]}`
    total=`expr ${end_total} - ${start_total[$i]}`
    idle_normal=`expr ${idle} \* 100`
    cpu_usage=`expr ${idle_normal} / ${total}`
    cpu_rate[${cpu_num}]=`expr 100 - ${cpu_usage}`
    echo "Average CPU Rate : ${cpu_rate[${cpu_num}]}%"
	echo -e "\nProccess of CPU used rate > 100%"
	ps -aux | awk ‘$3 > 1{print $2,$3,$11}‘
时间: 2024-10-06 16:09:42

Linux Shell查看磁盘分区,内存使用,CPU使用率的相关文章

linux下查看磁盘分区的uuid

1.sudo blkid 这种方法可以查看到分区的较为详细的信息,例如 sudo blkid /dev/sda5: UUID="6b32abd2-6cfd-4cd0-8b4d-3b272e586516" TYPE="ext4" PARTUUID="abeeb252-724d-4d11-a7cc-ee78335b956b" 2.ls -l /dev/disk/by-uuid

linux下查看磁盘分区的文件系统格式

df -T 只可以查看已经挂载的分区和文件系统类型. Filesystem Type 1K-blocks Used Available Use% Mounted on/dev/sda1 ext4 20642428 3698868 15894984 19% /tmpfs tmpfs 32947160 0 32947160 0% /dev/shm fdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型. Disk /dev/sda: 299.4 GB, 299439751168 b

Linux 查看磁盘分区、文件系统、磁盘的使用情况相关的命令和工具介绍

Linux 磁盘分区表.文件系统的查看.统计的工具很多,有些工具是多功能的,不仅仅是查看磁盘的分区表,而且也能进行磁盘分区的操作:但在本文,我们只讲磁盘分区的查看,以及分区的使用情况的查看:本文只是给新手上路之用:关于分区工具的操作,我将在以后做专门介绍: 一.df 命令: df 是来自于coreutils 软件包,系统安装时,就自带的:我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置: 举例: 代码: [[email protected] beinan]# df -lh File

Linux中查看进程占用内存和系统资源情况的命令

用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况... 还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多. top: 主要参数 d:指定更新的间隔,以秒计算. q:没有任何延迟的更新.如果使用者有超级用户,则top命令将会以最高的优先序执行. c:显示进程完整的路径与名称. S:累积模式,

Linux系统下磁盘分区与管理

磁盘分区与管理 1.Linux系统设备文件 crw-rw----. 1 root root    253,  0 Apr 18 15:31 rtc0   #字符文件 lrwxrwxrwx. 1 root root           3 Apr 18 15:31 scd0 -> sr0 brw-rw----. 1 root disk      8,  0 Apr 18 15:31 sda    #设备文件 brw-rw----. 1 root disk      8,  1 Apr 18 15:

在Linux中通过Top运行进程查找最高内存和CPU使用率

按内存使用情况查找前15个进程,在批处理模式下为“top” 使用top命令查看有关当前状态,系统使用情况的更详细信息:正常运行时间,负载平均值和进程总数. 分类:Linux命令操作系统 2016-07-27 00:00:00 类似于前面的技巧有关找出由RAM和CPU使用率最高的进程 ,还可以使用top命令来查看相同的信息. 也许有相比前一个这种方法的一个额外的优势:顶级的“头”,提供有关当前状态和使用该系统的额外信息:正常运行时间,平均负载和进程总数,仅举几例例子. 按顶部查找按内存使用的进程

linux Centos下磁盘分区及文件系统创建与挂载

linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 2.MBR支持分区数量有限 3.MBR只支持不超过2T的硬盘,超过2T的硬盘只能使用2T空间(使用其他方法) 1.主分区:最多只能创建4个主分区(可使用) 2.扩展分区:一个扩展分区会占用一个主分区位置(不可使用,可化为逻辑分区) 3.逻辑分区:Linux最多支持63个IDE分区和15个SCSI分

linux初学者-普通磁盘分区篇

linux初学者-普通磁盘分区篇 磁盘是计算机的重要组成部分,是记录数据的场所.在使用磁盘时,经常需要对其进行分区来实现不同的用途.下文将介绍在linux系统中普通磁盘分区的方法. "fdisk -l"命令可以查看系统中所有的磁盘设备,"df -Th"可以查看系统中正在挂载的磁盘设备,与"df"相同,"blkid"可以看到系统中可以挂载的设备.这些命令在磁盘分区之前和之后都是很有帮助的. 磁盘分区是通过命令"fdis

Linux:查看磁盘空间占用情况

Linux:查看磁盘空间占用情况 工作中有时被分配的测试机空间不大,经常遇到磁盘空间占满的情况.排查过程如下: 一.首先使用df -h 命令查看磁盘剩余空间,通过以下图看出/目录下的磁盘空间已经被占满. 二.进入根目录,因为最近常用的目录就是usr目录,所以用du -bs命令看一下常用的usr目录大小,由下图可见/usr目录占据了11g. 三.进入usr目录用find 命令找到大文件 然后把日志,压缩包什么的都清空: 原文地址:https://www.cnblogs.com/lizm166/p/