光荣之路测试开发面试linux考题之四:性能命令
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考题之四:性能命令的更多相关文章
- 测试开发面试的Linux面试题总结之一:vim使用方法
现在做测试没有说不用到linux,大部分公司都会涉及到,作为测试经常使用linux最常见手段就是查看日志,帮助开发定位问题,这是目前最常见的测试当中使用linux方法,今天就讲一讲vim文本编辑器的使 ...
- 测试开发面试的Linux面试题总结之二:常用命令
(1)Linux的文件系统目录配置要遵循FHS规范,规范定义的两级目录规范如下: /home 每个账号在该目录下都有一个文件夹,进行数据的管理 /usr 有点像windo ...
- 测试开发面试的Linux面试题:常用命令
Hello,大家好上次给大家介绍了vim使用方法,今天来给大家讲一讲linux系统文件命令 (1)Linux的文件系统目录配置要遵循FHS规范,规范定义的两级目录规范如下: /home ...
- python测试开发面试之深浅拷贝
先来道题热热身 a = ('a', 'b','c') c = copy.copy(a) d = copy.deepcopy(a) if c == d: print("c和d的值相等" ...
- 测试开发面试-java持续累积
接口和抽象类的区别 对java线程的理解 对java并发的理解 webservice的特点,用webservice的原因 守护线程和非守护线程 单例的实现,单例并发 如何实现定义一个类,只实现接口的任 ...
- Linux常用监控服务器性能命令
列举比较常用的几种监控服务器性能的Linux命令.其实,在我看来,目前针对Linux系统内存.硬盘.TCP/IP等等相关的指标,Linux本身自带的或者是一些开源项目等基本上都能达到这个获取服务器性能 ...
- 测试开发mysql性能调优总结(一)
测试开发mysql性能调优总结 mysql在创建表的时候,对每个字段选择合适的数据类型很重要! 根据个人的经验总结: 整数类型选择 INT小数类型选择 DECIMAL字符串类型选择 TEXT日期时间选 ...
- python3全栈开发- 元类metaclass(面试必考题)
一.知识储备 #exec:三个参数 #参数一:字符串形式的命令 #参数二:全局作用域(字典形式),如果不指定,默认为globals() #参数三:局部作用域(字典形式),如果不指定,默认为locals ...
- 面试 Linux 运维工作至少需要知道哪些知识?
前言 我们已经发过不少 Linux 面试题,但是单独的面试题总感觉会过于零碎,没有体系化内容给人的帮助大. 知乎上有这样一个问题:一个新手面试 Linux 运维工作至少需要知道哪些知识?其中有一个答案 ...
随机推荐
- 强化学习读书笔记 - 10 - on-policy控制的近似方法
强化学习读书笔记 - 10 - on-policy控制的近似方法 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton an ...
- MySQL☞视图
emmm,我本来最先也没注意到视图,然后再某个群里突然说起了视图,吓得本菜鸟赶紧连牛的不敢吹了,只好去科普一下,才好继续去吹牛. 什么是视图: 视图是一张虚拟的表,从视图中查看一张或多张表中的数据. ...
- JUC——TimeUnit工具类(二)
TimeUnit工具类 在java.util.concurrent开发包里面提供有一个TimeUnit类,这个类单独看它的描述是一个时间单元类.该类是一个枚举类,这也是juc开包里面唯一的一个枚举类. ...
- mui搜索框 搜索点击事件
<div class="mui-input-row mui-search"> <input type="search" class=" ...
- ConcurrentHashMap(JDK1.8)为什么要放弃Segment
今天看到一篇博客:jdk1.8的HashMap和ConcurrentHashMap,我想起了前段时间面试的一个问题:ConcurrentHashMap(JDK1.8)为什么要使用synchronize ...
- Python基础灬序列(字符串、列表、元组)
序列 序列是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员.序列包含字符串.列表.元组. 字符串 chinese_zodiac = '鼠牛虎兔龙蛇马羊猴鸡狗猪' print(c ...
- Linux下文件的打包、解压缩指令——tar,gzip,bzip2
本文是对 鸟叔的Linux私房菜(基础学习篇) 第三版 的学习笔记,原文可参考原书中文网站 鸟叔的Linux私房菜.更多详细信息可直接参考对应Linux命令的 man 帮助( 如 man tar). ...
- Python 招聘信息爬取及可视化
自学python的大四狗发现校招招python的屈指可数,全是C++.Java.PHP,但看了下社招岗位还是有的.于是为了更加确定有多少可能找到工作,就用python写了个爬虫爬取招聘信息,数据处理, ...
- SQLSERVER 根据身份证号码 往出生年月日 赋值
update CREW_SailorInfo set DT_DOB= ( case then , ) then , ) else null end) 注:此问题仅供参考 如有疑问 请加QQ群18153 ...
- Python:Python的运行过程
1.Python是什么 和Java以及c#一样,Python也是一门基于虚拟机的语言.熟悉Java开发的人在命令行执行一个Java程序的过程通常如下: javac hello.java java he ...