#!/bin/bash
printf "%10s\n" "##主机名##"
printf "%-10s\n" "$(hostname)"
echo "############CPU状态#####################################################################"
/usr/bin/top -b |head -5
echo "------------------------------------------"
echo "占用CPU时间前10"
ps aux|head -1|awk '{printf "%-8s %5s %4s %4s %-8s %-8s %-10s \n", $1,$2,$3,$4,$5,$6,$11}'
ps aux|grep -v PID|sort -rn -k +3|head|awk '{printf "%-8s %5s %4s %4s %-8s %-8s %-10s \n", $1,$2,$3,$4,$5,$6,$11}'

echo "############内存状态:###################################################################"
free -m
echo "------------------------------------------"
echo "占用内存前10"
ps aux|head -1|awk '{printf "%-8s %5s %4s %4s %-8s %-8s %-10s \n", $1,$2,$3,$4,$5,$6,$11}'
ps aux|grep -v PID|sort -rn -k +4|head|awk '{printf "%-8s %5s %4s %4s %-8s %-8s %-10s \n", $1,$2,$3,$4,$5,$6,$11}'

echo "############硬盘状态:#####################################################################"
use_disk=$(df|grep "^/dev/vd"| grep -Eo "\<[0-9]+\>%"|sort -nr|head -1)
var_disk=$(df -h|grep "^/dev/vd"|grep -Eo "[0-9]+G"|tail -1)
echo "硬盘空间使用率:$use_disk"
echo "硬盘剩余空间:$var_disk"
disk_inode=$(df -i|grep "^/dev/vd"| grep -Eo "\<[0-9]+\>%"|sort -nr|head -1)
echo "硬盘inode使用率:$disk_inode"

echo "############TCP状态:#######################################################################"
echo "当前TCP连接数:"`netstat -nat | grep ESTABLISHED | wc -l`
echo "查看TCP连接状态:"
ss -tan|awk 'NR>1{++S[$1]}END{for (a in S) print a,S[a]}'
echo "------------------------------------------"
echo "ESTABLISHED状态IP前10"
netstat -an |grep ^tcp.*:80|egrep -v 'ESTABLISHED'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|head -10
echo "------------------------------------------"
echo "TIME_WAIT状态IP前10"
netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|head -10
echo "------------------------------------------"
echo "#############网卡状态:#####################################################################"
RXpre=$(cat /proc/net/dev |grep eth0|awk '{print $2}')
TXpre=$(cat /proc/net/dev |grep eth0|awk '{print $10}')
RXpack=$(cat /proc/net/dev |grep eth0|awk '{print $3}')
TXpack=$(cat /proc/net/dev |grep eth0|awk '{print $11}')
RXerr=$(cat /proc/net/dev |grep eth0|awk '{print $4}')
TXerr=$(cat /proc/net/dev |grep eth0|awk '{print $12}')
RXdrop=$(cat /proc/net/dev |grep eth0|awk '{print $5}')
TXdrop=$(cat /proc/net/dev |grep eth0|awk '{print $13}')

sleep 1
RXnext=$(cat /proc/net/dev |grep eth0|awk '{print $2}')
TXnext=$(cat /proc/net/dev |grep eth0|awk '{print $10}')
RXnextpack=$(cat /proc/net/dev |grep eth0|awk '{print $3}')
TXnextpack=$(cat /proc/net/dev |grep eth0|awk '{print $11}')
RXnexterr=$(cat /proc/net/dev |grep eth0|awk '{print $4}')
TXnexterr=$(cat /proc/net/dev |grep eth0|awk '{print $12}')
RXnextdrop=$(cat /proc/net/dev |grep eth0|awk '{print $5}')
TXnextdrop=$(cat /proc/net/dev |grep eth0|awk '{print $13}')

RX=$(( ${RXnext} - ${RXpre} ))
TX=$(( ${TXnext} - ${TXpre} ))
RXpack=$((${RXnextpack} - ${RXpack}))
TXpack=$((${TXnextpack} - ${TXpack}))
RXerr=$((${RXnexterr} - ${RXerr}))
TXerr=$((${TXnexterr} - ${TXerr}))
RXdrop=$((${RXnextdrop} - ${RXdrop}))
TXdrop=$((${TXnextdrop} - ${TXdrop}))

printf "%s" "接收字节 发送字节 接收包数 发送包数 接收错误 发送错误 接收丢弃 发送丢弃"
echo -e "\n"
printf "%-9s" ${RX} ${TX} ${RXpack} ${TXpack} ${RXerr} ${TXerr} ${RXdrop} ${TXdrop}
echo -e "\n"

linux系统状态脚本的更多相关文章

  1. Linux系统状态监控小工具 - Linux Dash

    Linux Dash是一个简单易用的Linux系统状态监控工具,项目地址:https://github.com/afaqurk/linux-dash 1.安装Apache服务: [root@local ...

  2. 【第十三课】监控Linux系统状态

    目录 1.查看系统负载命令:w.uptime 2.vmstat详解 3.top动态查看负载 4.sar命令(监控网卡流量) 5.nload命令(监控网卡流量) 6.iostat iotop(监控IO性 ...

  3. linux系统状态网络、权限、用户大杂烩

    来来来,我们聊一下liunx系统相关的知识!! 首先从查询网络配置开始 ifconfig 查询.设置网卡和ip等参数 ifup,ifdown 脚本命令,更简单的方式启动关闭网络 ip命令是结合了ifc ...

  4. 查看linux系统状态

    就类似你装完xp后,或者你拿到一台新的机器的时候,你通常都是进入系统,看看他的cpu,内存,硬盘使用情况.我也按照这个来看看linux的系统状态.1:top 退出按q,这个就类似windows的任务管 ...

  5. Linux 系统状态检测命令

    介绍快速查看Linux系统运行状态的能力(网络网卡.系统内核.系统负载.内存使用情况.启用终端数量.历史登录记录.命令执行记录.救援诊断)等命令使用方法 1.ifconfig  用于获取网卡配置和网络 ...

  6. linux系统状态检测命令

    1.ifconfig命令 ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”. 使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时 ...

  7. shell实现增加删除Linux系统用户脚本(密码为随机)

    README shell环境下运行脚本,根据需求选择相应的功能. List \t\t create the userlist 这一步是必须执行的,脚本会识别本地当前目录下的文件 Useradd \t\ ...

  8. linux系统状态查看/管理相关命令

    系统状态查看命令: w 查看用户 top 系统进程监控 uptime 查看某台服务器运行了多久 htop 更加先进的交互式监控工具(需要安装) iotop 监控并实时显示磁盘IO输入和输出和程序进程( ...

  9. linux系统备份脚本

    前言 之前写过<<linux系统简单备份的脚本>>, 最开始一直用着,后来觉得有必要改进下它,不管是从操作方式上还是脚本的工作方式上.之所以这么看重备份,是因为我经历过磁盘损坏 ...

随机推荐

  1. Support Vector Machines

    支持向量机SVM. 简介 SVM核函数包括线性核函数.多项式核函数.径向基核函数.高斯核函数.幂指数核函数.拉普拉斯核函数.ANOVA核函数.二次有理核函数.多元二次核函数.逆多元二次核函数以及Sig ...

  2. LeetCode 1059. All Paths from Source Lead to Destination

    原题链接在这里:https://leetcode.com/problems/all-paths-from-source-lead-to-destination/ 题目: Given the edges ...

  3. git create remote branch (五)

    admin@PC-panzidong MINGW64 ~/WebstormProjects/backEndServer (master) 查看本地分支信息$ git branch* master ad ...

  4. 计蒜客 39270.Angel's Journey-简单的计算几何 ((The 2019 ACM-ICPC China Shannxi Provincial Programming Contest C.) 2019ICPC西安邀请赛现场赛重现赛

    Angel's Journey “Miyane!” This day Hana asks Miyako for help again. Hana plays the part of angel on ...

  5. 在Matlab中的tick可以调整方向

    需要将axis对话框的More property打开,修改TickDir,可从In改成Out.

  6. EasyEarth三维可视化解决方案——智慧河长

    EasyEarth—— 为河长装上“千里眼.顺风耳” 为各级河长办应急指挥.任务指派. 实绩考核提供快速直观的 高效.精准.智能化决策平台. 河长制背景 我国治水工作呈现出新老问题交织态势,河湖管理保 ...

  7. 可伸缩性架构常用技术——之数据切分 Data Sharding/Partition

    1. 简介 本来想写一篇可伸缩性架构方面的文章,发现东西太多了,久久未能下笔,这里首先把大家最关注的数据切分(Partition/Sharding)方面的内容先写完,给大家参考. 我们知道,为了应对不 ...

  8. QTP测试学习笔记

    QuickTest Professional(简称QTP)功能自动化测试,原属于Mercury Interactive公司产品,2006年7月被惠普公司收购了,通过安装文件目录可以看到,都是默认放在C ...

  9. Linux下查找命令 —— find、grep、 which、 whereis、 locate

    find命令 基本格式 find < path > < expression > < cmd > ''' path: 所要搜索的目录及其所有子目录.默认为当前目录. ...

  10. nginx配置ssl证书,启动http访问并代理到本地http端口

    小白第一次使用nginx,本地环境Ubuntu 16.04.6 1.安装Nginx sudo apt install nginx 2.生成证书 (参考来源:https://segmentfault.c ...