前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Linux 常用性能工具简介.

Linux 常用性能工具简介.

作者头像
JMCui
发布于 2018-03-15 09:34:26
发布于 2018-03-15 09:34:26
2.3K0
举报
文章被收录于专栏:JMCuiJMCui

一、wget 文件下载

使用wget下载单个文件:wget URL

下载并以不同的文件名保存:wget -O wordpress.zip URL

wget限速下载:wget --limit-rate=300k URL

使用wget断点续传:wget -c URL

使用wget后台下载:wget -b URL (查看下载进度:tail -f wget-log)

测试下载链接:wget --spider URL

下载指定格式文件:wget -r -A.pdf URL

FTP下载:wget --ftp-user=USERNAME --ftp-password=PASSWORD URL

二、scp 跨机远程拷贝

从远处复制文件到本地目录:$scp root@10.6.159.147:/opt/soft/demo.tar /opt/soft/

从远处复制到本地:$scp -r root@10.6.159.147:/opt/soft/test /opt/soft/

上传本地文件到远程机器指定目录:$scp /opt/soft/demo.tar root@10.6.159.147:/opt/soft/scptest

上传本地目录到远程机器指定目录:$scp -r /opt/soft/test root@10.6.159.147:/opt/soft/scptest

三、sar

    sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。

查看CPU使用率: sar -u 1 2 (后面两个参数表示监控的频率,比如例子中的1和2,表示每秒采样一次,总共采样两次)

  • %user 用户模式下消耗的CPU时间的比例;
  • %nice 通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间的比例
  • %system 系统模式下消耗的CPU时间的比例;
  • %iowait CPU等待磁盘I/O导致空闲状态消耗的时间比例;
  • %steal 利用Xen等操作系统虚拟化技术,等待其它虚拟CPU计算占用的时间比例;
  • %idle CPU空闲时间比例;

查看CPU平均负载: sar -q 1 2

  • runq-sz:运行队列的长度(等待运行的进程数)
  • plist-sz:进程列表中进程(processes)和线程(threads)的数量
  • ldavg-1:最后1分钟的系统平均负载
  • ldavg-5:过去5分钟的系统平均负载
  • ldavg-15:过去15分钟的系统平均负载

查询内存: sar -r 1 2

  • kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
  • kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.
  • %memused:物理内存使用率,这个值是kbmemused和内存总量(不包括swap)的一个百分比.
  • kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
  • kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).
  • %commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

查询页面交换:sar -W 1 3

  • pswpin/s:每秒系统换入的交换页面(swap page)数量
  • pswpout/s:每秒系统换出的交换页面(swap page)数量

四、free

free工具用来查询系统可用内存,显示当前系统未使用和已使用的内存数目,还可以显示被内核使用的内存缓存区。

  • total:内存总数
  • used:已经使用的内存数
  • free:空闲的内存数
  • shared:当前已经废弃不用
  • buffers Buffer:缓存内存数

程序实实在在吃掉的内存数:Mem中的used - buff/cache

可以挪用的内存总数:Mem中的free + buff/cache

swap:也就是我们通常所说的虚拟内存。当内存使用到一定值的时候,会开始进行交换(怎么查看额定值 cat /proc/meminfo)

page cache 和 buffer cache的区别?

    简单来说,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache。如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。

free -s 10  #周期性的查询内存使用情况,每10s 执行一次命令 

五、iostat

    被用于监视系统输入输出设备和CPU使用情况,它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU的使用情况。

注:如果%iowait的值过高,表示硬盘存在I/O瓶颈。 %idle值高,表示CPU较空闲。如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

  • tps:该设备每秒的传输次数;
  • kB_read/s:每秒从设备(drive expressed)读取的数据量;
  • kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
  • kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;

六、vmstat

显示虚拟内存状态,但是他可以报告关于进程、内存、I/O等系统运行状态。

Procs(进程)     r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU。(长期大于1)     b: 等待IO的进程数量。

Memory(内存)     swpd: 使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。     free: 空闲物理内存大小。     buff: 用作缓冲的内存大小。     cache: 用作缓存的内存大小,如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小。

Swap     si: 每秒从交换区写到内存的大小,由磁盘调入内存。     so: 每秒写入交换区的内存大小,由内存调入磁盘。     注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。

IO(现在的Linux版本块的大小为1kb)     bi: 每秒读取的块数     bo: 每秒写入的块数     注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。

system(系统)     in: 每秒中断数,包括时钟中断。     cs: 每秒上下文切换数。     注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。

CPU(以百分比表示)     us: 用户进程执行时间百分比(user time)     us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。     sy: 内核系统进程执行时间百分比(system time)     sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。     wa: IO等待时间百分比     wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

    id: 空闲时间百分比

七、 top

可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具,是Linux下的任务管理器。通过top命令所提供的互动式界面,用热键可以管理。热键如下:

  • q:退出top命令
  • <Space>:立即刷新
  • s:设置刷新时间间隔
  • c:显示命令完全模式
  • t::显示或隐藏进程和CPU状态信息
  • m:显示或隐藏内存状态信息
  • l:显示或隐藏uptime信息
  • f:增加或减少进程显示标志
  • S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
  • P:按%CPU使用率排行
  • T:按MITE+排行
  • M:按%MEM排行
  • u:指定显示用户进程
  • r:修改进程renice值
  • kkill:进程
  • i:只显示正在运行的进程
  • W:保存对top的设置到文件^/.toprc,下次启动将自动调用toprc文件的设置。
  • h:帮助命令。
  • q:退出

注:强调一下,使用频率最高的是P、T、M,因为通常使用top,我们就想看看是哪些进程最耗cpu资源、占用的内存最多; 注:通过”shift + >”或”shift + <”可以向右或左改变排序列 如果只需要查看内存:可用free命令。只查看uptime信息(第一行),可用uptime命令;

第一行

    • 11:57:12 : 系统当前时间
    • , 2:45 : 系统开机到现在经过了多少时间
    • 3 users : 当前3用户在线
    • load average: 0.19, 0.17, 0.14: 系统1分钟、5分钟、15分钟的CPU负载信息

第二行

    • Tasks:任务;
    • 205 total:很好理解,就是当前有205个任务,也就是205个进程。
    • 2 running:2个进程正在运行
    • 203 sleeping:203个进程睡眠
    • 0 stopped:停止的进程数
    • 0 zombie:僵死的进程数

第三行

    • Cpu(s):表示这一行显示CPU总体信息
    • 9.1%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。
    • 1.3%sy:内核占用CPU时间百分比
    • 0.0%ni:改变过优先级的进程占用CPU的百分比
    • 89.6%id:空闲CPU时间百分比
    • 0.0%wa:等待I/O的CPU时间百分比
    • 0.0%hi:CPU硬中断时间百分比
    • 0.0%si:CPU软中断时间百分比
    • 注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;

第四行

    • Men:内存的意思
    • total:物理内存总量
    • used:使用的物理内存量
    • free:空闲的物理内存量
    • buffers:用作内核缓存的物理内存量

第五行

    • Swap:交换空间
    • total:交换区总量
    • used:使用的交换区量
    • free:空闲的交换区量
    • cached:缓冲交换区总量

进程信息

    • PID:进程的ID
    • USER:进程所有者
    • PR:进程的优先级别,越小越优先被执行
    • NInice:值
    • VIRT:进程占用的虚拟内存
    • RES:进程占用的物理内存
    • SHR:进程使用的共享内存
    • S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
    • %CPU:进程占用CPU的使用率
    • %MEM:进程使用的物理内存和总内存的百分比
    • TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
    • COMMAND:进程启动命令名称

八、结语

博主只是一个Linux菜鸟。秉着先博后渊的原则,看到了这些知识,就先记下了,之后具体用到的时候再深究吧。才疏学浅,说的不对的地方,还请大家指正,欢迎讨论。另外在Github上发现了一个Linux命令搜索工具,很好用,介绍给大家:https://jaywcjlove.github.io/linux-command/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux下性能调试工具-top和sar运维笔记
作为一名资深的linux运维工程师,必须要熟练运用一些必要的系统性能调试工具,如top、sar工具。下面简单介绍下这几个工具的使用: 一、top top是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。 比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任
洗尽了浮华
2018/01/23
4K0
sar 找出系统瓶颈的利器
sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的 特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析 工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的 活动等,使用也是较为复杂。 sa
小小科
2018/05/02
1.7K0
Linux性能检测常用的9个基本命令
作为一个Linux运维人员,主要就是对Linux服务器的性能做一些优化,本篇博文仅仅介绍如何性能检测常用的指令!
网络技术联盟站
2020/05/14
1.9K0
性能测试必备监控技能linux篇14
前言 如果性能测试的目标服务器是linux系统,在如何使用linux自带的命令来实现性能测试过程的监控分析呢? 对于日常性能测试来讲,在linux下或是类Unix系统,我们必须掌握以下常用的指标查看命令。 ps pstree top free vmstat iostat iotop sar 当然还有其他命令,这里就上述笔者常用的命令推荐大家掌握。 ps ps命令能给出当前系统中进程的快照。下面我们列举几个常用的选项,对于其他的请参考官方文档或是自行搜索相关文档。 使用 -a 参数。-a 代表 all。同时加
苦叶子
2018/04/04
1.4K0
性能测试必备监控技能linux篇14
Hacker基础之Linux篇:基础Linux命令十五
sar(System Activity Reporter),翻译过来就是<系统活动情况报告>,是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告
用户1631416
2018/07/25
6500
Hacker基础之Linux篇:基础Linux命令十五
五分钟带你掌握Linux系统查看CPU使用率、内存使用率、磁盘使用率
%us:表示用户空间程序的cpu使用率(没有通过nice调度) %sy:表示系统空间的cpu使用率,主要是内核程序。 %ni:表示用户空间且通过nice调度过的程序的cpu使用率。 %id:空闲cpu %wa:cpu运行时在等待io的时间 %hi:cpu处理硬中断的数量 %si:cpu处理软中断的数量 %st:被虚拟机偷走的cpu 注:99.0 id,表示空闲CPU,即CPU未使用率,100%-99.0%=1%,即系统的cpu使用率为1%。
不吃小白菜
2021/03/02
19.3K0
网工人必须掌握的Linux命令
作为一个Linux运维人员,主要就是对Linux服务器的性能做一些优化,本篇博文仅仅介绍如何性能检测常用的指令!
网络技术联盟站
2021/02/22
9940
性能工具之linux监控之top、vmstat、iostat复习
Ø d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
高楼Zee
2020/02/10
1.6K0
Unix&Linux下常见的性能分析工具介绍
Vmstat是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的IO、中断、上下文切换、CPU使用等。系统性能分析工具中,使用最多的是这个,除了sysstat工具包外,这个工具能查看的系统资源最多。
一见
2018/08/07
1K0
Linux - CPU性能评估_详解查看CPU性能的命令
vmstat命令可以显示关于系统各种资源之间相关性能的简要信息,这里主要用它来看CPU的一个负载情况。
小小工匠
2023/03/07
7.3K0
Linux - CPU性能评估_详解查看CPU性能的命令
老牌运维教你如何快速分析Linux服务器的性能问题
该命令可以显示关于系统各种资源之间相关性能的简要信息,这里我们主要用它来看CPU的一个负载情况。
lyb-geek
2019/10/16
1.4K0
Linux 系统常用监控命令总结,强烈建议收藏!
平时我们经常需要监控内存的使用状态,常用的命令有free、vmstat、top、dstat -m等。
网络技术联盟站
2021/11/01
1.6K0
看了这篇还不会Linux性能分析和优化,你来打我
一般互联网的项目都是部署在linux服务器上的,如果linux服务器出了问题,那么咱们平时学习的高并发,稳定性之类的是没有任何意义的,所以对linux性能的把握就显得非常重要,当然很多同学可能觉得这些是运维同学的事情,但是我不这么认为,不管你是架构师,还是crud boy,对项目有个全局的掌控是一项非常重要的基本素质,所以总结了这篇文章,希望对您有用,如果您觉得我写的还不错,看完记得点个赞,点个再看哦。咱们废话不用多说,直接进入正题。
程序员小饭
2021/05/13
5400
看了这篇还不会Linux性能分析和优化,你来打我
Linux常用性能调测命令简介
top常用参数,top是交互式命令,以下几个参数经常用到,在top界面输入以下字母:
腾讯蓝鲸助手
2022/04/24
1.8K1
linux 常用的性能分析命令vmstat|iostat|iotop|mpstat
1.vmstat--虚拟内存统计 vmstat(VirtualMeomoryStatistics,虚拟内存统计) 是Linux中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU等的整体情况进行监视。
瑾诺学长
2021/02/25
1.5K0
[422]linux查看CPU和内存使用率
%us: 表示用户空间程序的cpu使用效率 %sy:表示系统空间程序的cpu使用效率 %ni: 表示用户空间通过nice调度过的程序的cpu使用效率 %id: 空闲cpu %wa:cpu运行时等待io的时间 %hi: cpu运行过程中硬中断的数量 %si: cpu处理软中断的数量 %st: 被虚拟机偷走的cpu
周小董
2022/04/13
9.1K0
[422]linux查看CPU和内存使用率
100个 Linux 命令(8)-统计和查看系统状态
pstree命令以树的形式显示进程信息,默认树的分支是收拢的,也不显示pid,要显示这些信息需要指定对应的选项。
懒人的小脑
2019/01/16
2.5K0
100个 Linux 命令(8)-统计和查看系统状态
Linux系统管理工具-vmstat、top、sar、nload、w命令
解析: 第一行从左边开始显示的信息依次是:时间,系统运行时间,登录用户数,平均负载(1min平均负载、5min平均负载、15min平均负载)。 load average:平均负载,即单位时间内CPU活动进程数,这个值越大说明服务器压力越大,一般该值不超过cpu数量就可以。
阿dai学长
2019/04/03
1.5K0
关于Linux中使用USE(使用率/饱和度/错误)方法分析系统性能的一些笔记
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波
山河已无恙
2023/01/30
1.2K0
关于Linux中使用USE(使用率/饱和度/错误)方法分析系统性能的一些笔记
Linux系统查看CPU「建议收藏」
在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况,以便性能分析优化。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。
全栈程序员站长
2022/08/03
5.9K0
Linux系统查看CPU「建议收藏」
推荐阅读
相关推荐
Linux下性能调试工具-top和sar运维笔记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文