首页 > 系统相关 >linux统计字符串出现次数(linux查询关键字出现的个数了解)

linux统计字符串出现次数(linux查询关键字出现的个数了解)

时间:2024-02-22 19:57:40浏览次数:39  
标签:CPU grep 个数 echo 关键字 awk linux print cpu

 

使用脚本统计字符串出现次数

#!/bin/bash
# 获取要监控的本地服务器IP地址
IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'`
echo "IP地址:"$IP
 
# 获取cpu总核数
cpu_num=`grep -c "model name" /proc/cpuinfo`
echo "cpu总核数:"$cpu_num
 
# 1、获取CPU利用率
# 获取用户空间占用CPU百分比
cpu_user=`top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"`
echo "用户空间占用CPU百分比:"$cpu_user
 
# 获取内核空间占用CPU百分比
cpu_system=`top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%"`
echo "内核空间占用CPU百分比:"$cpu_system
 
# 获取空闲CPU百分比
cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $8}' | cut -f 1 -d "%"`
echo "空闲CPU百分比:"$cpu_idle
 
# 获取等待输入输出占CPU百分比
cpu_iowait=`top -b -n 1 | grep Cpu | awk '{print $10}' | cut -f 1 -d "%"`
echo "等待输入输出占CPU百分比:"$cpu_iowait
 
#2、获取CPU上下文切换和中断次数
# 获取CPU中断次数
cpu_interrupt=`vmstat -n 1 1 | sed -n 3p | awk '{print $11}'`
echo "CPU中断次数:"$cpu_interrupt
 
# 获取CPU上下文切换次数
cpu_context_switch=`vmstat -n 1 1 | sed -n 3p | awk '{print $12}'`
echo "CPU上下文切换次数:"$cpu_context_switch
 
#3、获取CPU负载信息
# 获取CPU15分钟前到现在的负载平均值
cpu_load_15min=`uptime | awk '{print $11}' | cut -f 1 -d ','`
echo "CPU 15分钟前到现在的负载平均值:"$cpu_load_15min
 
# 获取CPU5分钟前到现在的负载平均值
cpu_load_5min=`uptime | awk '{print $10}' | cut -f 1 -d ','`
echo "CPU 5分钟前到现在的负载平均值:"$cpu_load_5min
 
# 获取CPU1分钟前到现在的负载平均值
cpu_load_1min=`uptime | awk '{print $9}' | cut -f 1 -d ','`
echo "CPU 1分钟前到现在的负载平均值:"$cpu_load_1min
 
# 获取任务队列(就绪状态等待的进程数)
cpu_task_length=`vmstat -n 1 1 | sed -n 3p | awk '{print $1}'`
echo "CPU任务队列长度:"$cpu_task_length
 
#4、获取内存信息
# 获取物理内存总量
mem_total=`free | grep Mem | awk '{print $2}'`
echo "物理内存总量:"$mem_total
 
# 获取操作系统已使用内存总量
mem_sys_used=`free | grep Mem | awk '{print $3}'`
echo "已使用内存总量(操作系统):"$mem_sys_used
 
# 获取操作系统未使用内存总量
mem_sys_free=`free | grep Mem | awk '{print $4}'`
echo "剩余内存总量(操作系统):"$mem_sys_free
 
# 获取应用程序已使用的内存总量
mem_user_used=`free | sed -n 3p | awk '{print $3}'`
echo "已使用内存总量(应用程序):"$mem_user_used
 
# 获取应用程序未使用内存总量
mem_user_free=`free | sed -n 3p | awk '{print $4}'`
echo "剩余内存总量(应用程序):"$mem_user_free
 
 
# 获取交换分区总大小
mem_swap_total=`free | grep Swap | awk '{print $2}'`
echo "交换分区总大小:"$mem_swap_total
 
# 获取已使用交换分区大小
mem_swap_used=`free | grep Swap | awk '{print $3}'`
echo "已使用交换分区大小:"$mem_swap_used
 
# 获取剩余交换分区大小
mem_swap_free=`free | grep Swap | awk '{print $4}'`
echo "剩余交换分区大小:"$mem_swap_free
 

#5、获取磁盘I/O统计信息
echo "指定设备(/dev/sda)的统计信息"
# 每秒向设备发起的读请求次数
disk_sda_rs=`iostat -kx | grep sda| awk '{print $4}'`
echo "每秒向设备发起的读请求次数:"$disk_sda_rs
 
# 每秒向设备发起的写请求次数
disk_sda_ws=`iostat -kx | grep sda| awk '{print $5}'`
echo "每秒向设备发起的写请求次数:"$disk_sda_ws
 
# 向设备发起的I/O请求队列长度平均值
disk_sda_avgqu_sz=`iostat -kx | grep sda| awk '{print $9}'`
echo "向设备发起的I/O请求队列长度平均值"$disk_sda_avgqu_sz
 
# 每次向设备发起的I/O请求平均时间
disk_sda_await=`iostat -kx | grep sda| awk '{print $10}'`
echo "每次向设备发起的I/O请求平均时间:"$disk_sda_await
 
# 向设备发起的I/O服务时间均值
disk_sda_svctm=`iostat -kx | grep sda| awk '{print $11}'`
echo "向设备发起的I/O服务时间均值:"$disk_sda_svctm
 
# 向设备发起I/O请求的CPU时间百分占比
disk_sda_util=`iostat -kx | grep sda| awk '{print $12}'`
echo "向设备发起I/O请求的CPU时间百分占比:"$disk_sda_util

 

标签:CPU,grep,个数,echo,关键字,awk,linux,print,cpu
From: https://www.cnblogs.com/chenxiaomeng/p/18028025

相关文章

  • Linux---rsync服务
    1.rsync简介rsync英文称为remotesynchronization,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似于ssh带的scp命令,但是又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝。当然,rsync还可以在本地主......
  • linux特殊命令使用方法
    tail-5f  a.log   //实时查看a.log这个文件的内容sudofirewall-cmd--permanent--direct--add-ruleipv4filterOUTPUT0-ptcp--dport5353-d118.118.118.118-jDRO  //添加防火墙策略  系统性能监控lsof-i-P-n|grep-E"(:443|:80|:514)"  ......
  • Linux文本处理三剑客---grep
    1.什么是grep和egrep示例grep[options]pattern[file...]其中,pattern表示要搜索的模式,可以是简单的文本字符串,也可以是正则表达式。file指定要在其中进行搜索的文件,如果省略file,则默认从标准输入中读取数据。egrep其实就是grep的一个变种,它支持更多的正则表达式语法。egre......
  • arm架构 麒麟系统,linux环境安装Oracle Instant Client
    $wgethttps://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linux-arm64.zip$unzipinstantclient-basic-linux-arm64.zip$wgethttps://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linux-arm64.zip......
  • linux ftp服务选择与ftp(vsftpd,Pure-FTPd)服务安装使用教程(转载)
    一linuxftp常用的服务软件在Linux系统中,最常用的ftp有vsftpd,Pure-FTPd,ProFTPd,Wu-FTPd,glftpd,他们的特性优缺点如下对比图:常用的5款linuxftp对比图:软件 特性 优点 缺点vsftpd 轻量级、安全、易于配置 安全性高、性能好、易于配置 功能较为简单Pure-FTPd 安全、可扩展、......
  • linux常用命令--dpkg
    dpkg是Debain系列linux发行版本中的重要命令,用于管理软件包,安装、配置、卸载等等。更多介绍请参考官方文档:www.dpkg.orgdpkg常用参数:dpkg-ipackage_file.deb安装指定软件包 dpkg-igvim.debdpkg-rpackage_file.deb删除以安装的软件包,但保留配置文件 dpkg-rgv......
  • Linux查看硬件信息
    Linux查看硬件信息查看服务器型号、序列号dmidecode|grep"SystemInformation"-A9|egrep"Manufacturer|Product|Serial"查看主板型号dmidecode|grep-A16"SystemInformation$"查看BIOS信息dmidecode-tbios查看内存槽及内存条dmidecode-tmemory查看网卡信......
  • Linux 安装Mysql
     首先通过 xshell 或者putty远程进入Linux命令行操作界面。【1】查看是否已经安装Mysqlrpm-qa|grepmysql如果你查看出来有东西,可以使用下面命令将其删除(xxx为文件全名)rpm-exxx【2】下载官方Mysql包wget-i-chttp://dev.mysql.com/get/mysql57-co......
  • ls -Z SElinux上下文 查询输出参数解释
    ls-Z-rw-------.rootrootsystem_u:object_r:admin_home_t:s0anaconda-ks.cfg是一个文件的属性和安全上下文信息。它们的含义如下:-`-rw-------.`表示文件的权限。`-`表示这是一个普通文件,`rw-`表示文件所有者(root)有读写权限,`---`表示文件所属组(root)没有任何权限,`---`......
  • Linux磁盘管理
    Linux磁盘管理主要是指在Linux系统中对磁盘进行一系列的操作,包括磁盘的创建,格式化,挂载,卸载等。具体可以分为以下几个步骤:1.添加磁盘:这可能涉及到物理上的添加磁盘,或通过虚拟化技术(如RAID或LVM逻辑卷管理)来扩充磁盘空间。2.分区:使用工具如fdisk或gdisk对磁盘进行分区。fdisk主要......