#!/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. Clickhouse 性能瓶颈排查 IO过高

    前几天公司clickhouse 有个查询很慢.经理一直追问为什么慢 是cpu 不够 还是IO 占用太高,还是其他的原因.于是有了以下的排查 执行该条,在不考虑优化sql 的情况下 进行性能排查 1.首 ...

  2. 《OKR工作法》——打造一支专一的团队

    <OKR工作法>在最开始讲了这样一个故事,阿塔兰忒是斯巴达跑的最快的人,她的父亲为了将她嫁出去举办了一场跑步比赛并许诺冠军可以娶自己的女儿,阿塔兰忒为了不结婚决定参加比赛自己拿冠军.然而在 ...

  3. Xamarin.Forms 入门

    介绍 Xamarin.Forms是一个开源UI框架,Xamarin.Forms允许开发人员从单个共享代码库构建Android,iOS和Windows应用程序. Xamarin.Forms允许开发人员使 ...

  4. nginx 添加用户认证

    nginx 添加用户认证  nginx 配置文件添加: 配置代理添加用户认证:server {   listen       ;   server_name localhost;   location ...

  5. 分类模型的性能评价指标(Classification Model Performance Evaluation Metric)

    二分类模型的预测结果分为四种情况(正类为1,反类为0): TP(True Positive):预测为正类,且预测正确(真实为1,预测也为1) FP(False Positive):预测为正类,但预测错 ...

  6. CSP内容安全策略总结及如何抵御 XSS 攻击

    跨域脚本攻击 XSS 是最常见.危害最大的网页安全漏洞.为了防止它们,要采取很多编程措施,非常麻烦.很多人提出,能不能根本上解决问题,浏览器自动禁止外部注入恶意脚本?这就是"网页安全政策&q ...

  7. 【叔小生】JavaScript进阶篇

    如何插入JS JS基础语法 语法.函数.方法 提取字符串substring() substring() 方法用于提取字符串中介于两个指定下标之间的字符. <!DOCTYPE HTML> & ...

  8. GoCN每日新闻(2019-10-16)

    GoCN每日新闻(2019-10-16) GoCN每日新闻(2019-10-16) 1. 持续的性能分析与优化 https://medium.com/@tvii/continuous-profilin ...

  9. zookeeper、hbase集成kerberos

    1.KDC创建principal 1.1.创建认证用户 登陆到kdc服务器,使用root或者可以使用root权限的普通用户操作: # kadmin.local -q “addprinc -randke ...

  10. java 中利用反射机制获取和设置实体类的属性值

    摘要: 在java编程中,我们经常不知道传入自己方法中的实体类中到底有哪些方法,或者,我们需要根据用户传入的不同的属性来给对象设置不同的属性值,那么,java自带的反射机制可以很方便的达到这种目的,同 ...