一、Linux服务器性能关注点

1)CPU

-> load:表示cpu在一段时间内正在处理以及等待处理的任务之和统计信息,简单可理解为cpu正处理的线程数和能同时处理的线程数的比值。一般认为load值的安全上限为cpu的个数

-> run queue:表示cpu维护的线程运行队列。在多核系统中,每个cpu都将维护这么一个队列,其长度值越大表明cpu负载越高,load指标便基于此统计而来

-> utilization:cpu使用率,由如下部分组成。后面一般是cpu被充分利用的比值分布

user          60%~70%

system     30%~35%

idle            0%~5%

io wait       接近0%

->context switches:当可运行的线程数大于cpu资源时,系统为会强行换出正在执行的线程以保证其他线程得到运行的机会。对于被换出的线程,系统会保留其运行时上下文,以便在下次调度时恢复执行。

->nice:在用户空间内,通过nice或setpriority调用改变过优先级进程的cpu占用率。在同等情况下,优先级高(值越小)的进程会比优先级低的得到优先调度。nice不为0,表明发生了低优先级进程抢占高优先级进程的情况

2)Memory

->buffer:针对IO读写设计而言的缓冲区,主要目的是保证不同外设之间的进程数据同步

->cache:把已读取的数据缓存起来,当下次需要同样的数据直接从缓存中获取(命中),以提高访问速度

->swap:对物理内存的扩展

3)IO

->R/W:读/写流量

->rtps/wtps:每秒请求IO读/写的事务数

4)Network

->in/out网络流量大小

->tcp/udp/sock/httpd的连接数

二、linux常用命令

1) 查看服务器基本配置

cat /proc/cpuinfo  察看cpu信息

grep processor /proc/cpuinfo | wc -l

   统计cpu个数

cat /proc/meminfo

  察看memory信息

uname -a

  系统基本信息


 
 w

或者 who

察看用户登录

sar

  系统报告命令

常用参数  -q

: cpu load

-u

: cpu utilization

-r

: memory

-b

: io

-n

: network

sar -q 1 5

   察看cpu的load状况,每1s钟统计1次,共统计5次

从上图中可以看出,load较低,5个cpu有3个runqsz为0,说明系统负载不高

sar -u 2 3

  察看cpu使用率,每2s统计1次,共统计3次

cpu的idle占比达到了90%+,也说明系统很闲

sar -r

  察看当日内存占用情况(默认每10分钟统计一次)


 
 8G物理内存中,使用率达到90%以上,其中buffer有100m+,cache3G+(大量本地缓存造成),swap空间共有2G,基本没用

sar -b

察看当日IO使用情况

系统不断刷新日志文件,IO反映出以write为主

sar -n SOCK

  察看网络sock连接

sar -n DEV

察看网络流量

sar -u -f /var/log/sa/sa21

  对历史数据察看,对比分析系统问题(sa21表明是本月21号的数据)

vmstat

实时性能监控

top 

显示服务器任务

常用参数 H

:切换到显示所有线程

1

:显示各个cpu运行情况(类似的命令还有mpstat

)

ps -ef

ps -aux

   都是显示所有进程,区别在于不同的显示风格

ps -eLf | grep java | wc -l 

统计java线程数

将java换成httpd可统计apache线程数

find、df、

du、iostat

  磁盘IO命令

find /home/admin/ -name "hsf.log"

  在/home/admin/路径下查找名为hsf.log的文件

df -ha

察看文件系统的磁盘占用情况

du -ak | sort -t$'\t' -l1 -nr -k2 -r

对当前目前下所有文件按文件大小倒排序,大小相同按文件名字母倒排序


 iostat -x -d


  磁盘IO流量实时统计

ipconfig、ping、netstat

网络监控命令

netstat -ano | grep 8787

  察看8787端口的连接情况


 在windows下可以借助ip,通过nbtstat命令反查连接机器信息,这在排查团队成员谁远程debug服务器占用连接资源很有帮助

另外,对于不太熟悉的命令可以使用man

查看,进一步对于某命令的参数不理解,可以对该命令使用-h

来查看如何使用

linux系统性能监控常用命令的更多相关文章

  1. Linux 系统监控常用命令

    简介 列举操作系统级监控常用的几个方法,建议收藏使用 CPU top 命令可用于监控系统整体负载,包括cpu.内存使用等,能够实时显示系统中各个进程的资源占用状况 输出样例 top - 19:37:4 ...

  2. linux性能监控常用命令

    概述 我们在linux下,如果想要监控服务器性能.我们必须掌握以下常用的指标查看命令. ps pstree top free vmstat sar ps ps命令能给出当前系统中进程的快照.下面我们列 ...

  3. Linux 系统性能监控命令详解

    Linux 系统性能监控命令详解 CPU MEMORY IO NETWORK LINUX进程内存占用查看方法 系统负载过重时往往会引起其它子系统的问题,比如:->大量的读入内存的IO请求(pag ...

  4. Linux系统性能10条命令监控

    Linux系统性能10条命令监控 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 p ...

  5. linux系统监控常用工具

    linux系统监控常用工具 一.系统核心工具包(coreutils) 1./bin/df 报告系统的磁盘空间用量 df -h  显示磁盘分区fdisk -l 2./bin/uname 显示系统信息 u ...

  6. linux系统监控sar命令

    linux系统监控sar命令详解 sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告, 包 ...

  7. Linux查看系统配置常用命令

    Linux查看系统配置常用命令: 系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo ...

  8. linux vi编辑常用命令

      linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下   vi编辑器中有三种状态模式 1. ...

  9. Linux 系统巡检常用命令

    Linux系统巡检常用命令   # uname -a # 查看内核/操作系统# cat /etc/centos-release # 查看centos操作系统版本# cat /proc/cpuinfo ...

随机推荐

  1. Spring 整合hibernante 错误java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    1.将所需的jar包全部拷贝到WEB-INF/lib下,再重新启动tomcat便能顺利通过了.参考http://blessht.iteye.com/blog/1104450 最佳答案   spring ...

  2. c++:类中的static成员

    首先静态成员可以是public的,也可以是private的,只需在一般的变量.函数声明语句前加上static关键字即可声明一个static变量. 类中的静态成员存在与任何对象之外,所有该类对象的共享一 ...

  3. Java Eclipse常规设置

    改变字体大小 eclipse英文版中如何去修改字体及方法?首先打开eclipse中,按下面的方法即可菜单项:window ->preferences -> general -> ap ...

  4. [整理]DLL延时加载 && 设置进程私有环境变量

    DLL延时加载鉴于静态和动态加载之间,即无需在代码中显示加载但它内队依然是动态加载的方式只是系统帮处理了.这样做好处是: 1. 可以加快启动时间(因为它是动态加载在需要的时间加载), 2. 减小编写L ...

  5. Php5.3的lambda函数以及closure(闭包)

    从php5.3以后,php也可以使用lambda function(可能你会觉得是匿名函数,的确是但不仅仅是)来写类似javascript风格的代码: $myFunc = function() { e ...

  6. Storm基础理论

    Storm流式计算基础 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB" ...

  7. VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求

    开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过Ajax请求来完成,在服务端未完成开发时,前端需要有一个可以模拟Ajax请求的服务器. 在NodeJs环境下,通过配置express可访问的 ...

  8. jqeruy的append一个有趣的用法(挪移控件位置)

    使用:$(放置的容器).append($(需要迁移的控件)) 需求:列表中点击编辑可以在无刷修改 以前的方法是在列表中的每条数据直接放置控件.但是这个地区选择控件是服务器自定义控件不可以放置在列表的循 ...

  9. 你的阅读造就了你 You are what you read

    在豆瓣上看到的一篇很有思想和正能量的文章,在这里请允许我用原创的方式来呈现给大家.如果你是在校的大学生或者研究生博士生,这篇文章会让你有很多的共鸣.如果你已真正的踏入这个社会,也将受益匪浅.   电脑 ...

  10. Oracle EBS-SQL (SYS-6):sys_在线用户职责查询.sql

    /*线用户查询-1*/ SELECT FSAV.USER_NAME,FU.DESCRIPTION,FSAV.RESPONSIBILITY_NAME,FSAV.USER_FORM_NAME,FSAV.L ...