Hi,大家好我是tom,I am back.今天要给大家讲讲linux系统一些性能相关命令。

1.fdisk 磁盘管理

是一个强大的危险命令,所有涉及磁盘的操作都由该命令完成,包括:新增磁盘、增删改磁盘分区等。

1.fdisk -l 查看磁盘分区情况

Disk /dev/sda: 27.8 GB, 27896315904 bytes

255 heads, 63 sectors/track, 3391 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        3260    26185918+  83  Linux

/dev/sda2            3261        3391     1052257+  82  Linux swap / Solaris

可以看到,该机器上的硬盘只有一块,命名为/dev/sda,可用27.8G。在fdisk中以柱面为单位计数,该硬盘被分为3391个柱面,每个柱面8225280bytes。(现代硬盘容量超大,导致fdisk运算失准,虽然最后计算的数值是准确的,但是磁头(heads)、分段(sectors)都是不准确的,准确的是柱面数量。)

该磁盘分为两个分区,第一个分区从第一个柱面开始到第3260个柱面结束,占据26185918个数据块,为linux分区……这样的信息在某些紧急情况下是有用的。

2.df -h 查看分区使用情况

-h参数是以人类可理解方式显示磁盘空间。第一列为分区,第二列为分区大小,第三列为使用量,第四列为剩余量,第五列为使用百分比,最后是挂载点。一目了然,反应磁盘使用情况。

其中tmpfs是个特殊分区,可以理解为2.6内核带来的新特性,更高效率的使用内存和虚拟空间的技术。系统偶尔用到,某些特殊应用有需求,比如:oracle。

3.du -h filename显示文件目录大小命令,这里h参数代表以人性化的方式展示

du -sh filename 对于目录,不加-s参数会将目录下所有目录依次列出。加了-s参数后仅仅显示目标目录的大小。

经典用法,du –sk *|sort –nr。看看哪个目录占空间大

4.free命令查看当前内存使用情况

如上图所示,free命令可以显示当前内存使用情况。

Linux有一个特性,被命令执行过的目录结构会暂时存放在buffer中,系统中打开过的文档内容暂时存放在cache中。这两个类似缓存的内容都放在内存中,如果内存没有使用满,则不会释放,当内存不足时,立刻释放。也就是说,查看linux内存是否大量使用,实际上不是看的第一行的used和free,而是看第二行,used减去buffers、cached以后和free加上buffers、cached以后的空间。可以用多次执行ls /dev做实验,验证cache的作用;可以多次man kill做实验,验证buffers。

5.uptime查看cpu load情况

load average:平均负载,被定义为在特定时间间隔内(一个cpu周期)运行队列中的平均进程数。这个数值关系到cpu是否还能胜任。分为1分钟平均值、5分钟平均值和15分钟平均值三个数值。

[root@localhost home]# uptime

11:27:09 up 17:55,  3 users,  load average: 0.49, 0.40, 0.37

机器允许突发时间的处理,也就是1分钟load很高,5分钟load较高,15分钟load起伏不大的情况下,说明该次高load为突发情况,可以容忍。但是如果高load持续,导致5分钟和15分钟load都已经超过报警值,这时候需要考虑进行处理。如果15分钟load高于1分钟load,说明高load情况已经得到缓解。

6.vmstat是一个常用的运维命令,可以从进程数(load)、内存、swap、cpu使用率等方面考虑机器的使用情况。

如上图所示,其中参数1代表每一秒钟取一回数值。第一行数值为数据在之前一段时间的平均值,之后每一行列出的为当前的值。

7.top 查看进程对系统资源使用情况

OP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。

TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用、内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

在top显示视图中,按字母“f”,进入增加信息的选项。上述所有列以字母a到z排列在该视图中,在该视图中按任意字母键,可以增加或者删除top显示的信息。字母为大写且左侧有“*”的选项将在显示视图中显示。选择完毕后,按非字母的任意键退回显示视图。

在显示视图中按小写字母“o”,进入显示顺序选择。对某个字母按其大写键,可以将其向上移动,按小写键,将其向下移动。比如,需要把“%cpu”放置在第二列显示,则连续按动大写字母“K”。

8.使用iostat分析IO性能

iostat可以显示CPU和I/O系统的负载情况及分区状态信息

avg-cpu段:

%user: 在用户级别运行所使用的CPU的百分比.

%nice: nice操作所使用的CPU的百分比.

%sys: 在系统级别(kernel)运行所使用CPU的百分比.

%iowait: CPU等待硬件I/O时,所占用CPU百分比.

%idle: CPU空闲时间的百分比.

Device段:

tps: 每秒钟发送到的I/O请求数.

Blk_read /s: 每秒读取的block数.

Blk_wrtn/s: 每秒写入的block数.

Blk_read:   读入的block总数.

Blk_wrtn:  写入的block总数.

iostat各个参数说明:

-c 仅显示CPU统计信息.与-d选项互斥.

-d 仅显示磁盘统计信息.与-c选项互斥.

-k 以K为单位显示每秒的磁盘请求数,默认单位块.

-p device | ALL

与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:

# iostat -p hda

或显示所有设备

# iostat -p ALL

-t    在输出数据时,打印搜集数据的时间.

-V    打印版本号和帮助信息.

-x    输出扩展信息.

常见用法

iostat -d -k 1 10 #查看TPS和吞吐量信息

iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)

iostat -c 1 10 #查看cpu状态

光荣之路测试开发面试linux考题之四:性能命令的更多相关文章

  1. 测试开发面试的Linux面试题总结之一:vim使用方法

    现在做测试没有说不用到linux,大部分公司都会涉及到,作为测试经常使用linux最常见手段就是查看日志,帮助开发定位问题,这是目前最常见的测试当中使用linux方法,今天就讲一讲vim文本编辑器的使 ...

  2. 测试开发面试的Linux面试题总结之二:常用命令

    (1)Linux的文件系统目录配置要遵循FHS规范,规范定义的两级目录规范如下:        /home  每个账号在该目录下都有一个文件夹,进行数据的管理        /usr 有点像windo ...

  3. 测试开发面试的Linux面试题:常用命令

    Hello,大家好上次给大家介绍了vim使用方法,今天来给大家讲一讲linux系统文件命令 (1)Linux的文件系统目录配置要遵循FHS规范,规范定义的两级目录规范如下:        /home  ...

  4. python测试开发面试之深浅拷贝

    先来道题热热身 a = ('a', 'b','c') c = copy.copy(a) d = copy.deepcopy(a) if c == d: print("c和d的值相等" ...

  5. 测试开发面试-java持续累积

    接口和抽象类的区别 对java线程的理解 对java并发的理解 webservice的特点,用webservice的原因 守护线程和非守护线程 单例的实现,单例并发 如何实现定义一个类,只实现接口的任 ...

  6. Linux常用监控服务器性能命令

    列举比较常用的几种监控服务器性能的Linux命令.其实,在我看来,目前针对Linux系统内存.硬盘.TCP/IP等等相关的指标,Linux本身自带的或者是一些开源项目等基本上都能达到这个获取服务器性能 ...

  7. 测试开发mysql性能调优总结(一)

    测试开发mysql性能调优总结 mysql在创建表的时候,对每个字段选择合适的数据类型很重要! 根据个人的经验总结: 整数类型选择 INT小数类型选择 DECIMAL字符串类型选择 TEXT日期时间选 ...

  8. python3全栈开发- 元类metaclass(面试必考题)

    一.知识储备 #exec:三个参数 #参数一:字符串形式的命令 #参数二:全局作用域(字典形式),如果不指定,默认为globals() #参数三:局部作用域(字典形式),如果不指定,默认为locals ...

  9. 面试 Linux 运维工作至少需要知道哪些知识?

    前言 我们已经发过不少 Linux 面试题,但是单独的面试题总感觉会过于零碎,没有体系化内容给人的帮助大. 知乎上有这样一个问题:一个新手面试 Linux 运维工作至少需要知道哪些知识?其中有一个答案 ...

随机推荐

  1. Spring Cloud搭建微服务架构----文章汇总

    Spring Cloud搭建微服务架构----前言 原文地址:https://my.oschina.net/u/1000241/blog/882929 Spring Cloud搭建微服务架构----使 ...

  2. 解析build.gradle文件

    Gradle是一个非常先进的项目构建工具,它使用了一种基于Groovy的领域特定语言DSL来声明项目设置,摒弃了传统XML(如Ant和Maven)的各种繁琐配置 项目结构如上图: 1.最外层目录下的b ...

  3. 韦大仙--LoadRunner压力测试:详细操作流程

    一. 录制脚本 1.安装完毕后,创建脚本: 点击OK之后,会弹出网址,之后创建Action,每进一个页面添加一个Action,录制结束后,终止录制. 二. 修改脚本 1.脚本参数化 将登录的用户名密码 ...

  4. jenkens其实是代码上传工具

    Jenkins 持续集成使用教程 用 jenkins 有什么好处 通过规范化来完成,简单,繁琐,浪费时间的重复工作 规范化工作,以免出现低级错误 实现随时随地任何人一键构建 ...... 安装 jen ...

  5. NO--10今天带大家回忆回忆“闭包”吧!

    对于‘闭包,我相信很多人都掉进过这个坑里,也相信很多人没能详细的理解这个问题,今天带大家再次走进闭包: 写这篇文章时的心情是十分忐忑的,因为对于我们今天的主角:闭包,很多小伙伴都写过关于它的文章,相信 ...

  6. C# ArcFace 免费人脸识别 2.0 demo

    **配置过程:** 1. 到[虹软官网](https://ai.arcsoft.com.cn/index.htm?utm_source=csdn&utm_medium=referral)下载S ...

  7. java运行时内存分类

    主要有java栈(虚拟机栈), 堆 ,方法区. 线程私有: 栈: 每个方法执行的时候 都会同时创建一个栈桢 Stack Frame 用于存储  局部变量表, 操作数栈,动态链接, 方法出口等信息 线程 ...

  8. [Algorithm] A* Search Algorithm Basic

    A* is a best-first search, meaning that it solves problems by searching amoung all possible paths to ...

  9. Scrum立会报告+燃尽图(十月二十日总第十一次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2246 项目地址:https://git.coding.net/zhang ...

  10. struts2--上传总结(限制大小和类型 非法上传的跳转)

    网上有很多版本,鉴于实践出真知的态度 我自己探索了一番 struts版本:2.3.16 限制大小: struts2默认是2M 所以如果要扩大大小限制,应该先配一个全局struts2最大上限 <c ...