b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Linux下常用的性能分析工具--CPU使用率分析

电脑杂谈  发布时间:2021-05-07 00:01:23  来源:网络整理

在系统维护过程中,可能需要随时检查CPU使用率,并根据相应的信息分析系统状态。在CentOS中,您可以使用top命令查看CPU使用率。运行top命令后,CPU使用情况状态将以全屏模式显示,并且将以对话模式显示-使用基于top的命令,您可以控制显示模式,依此类推。退出top的命令是q(top运行时按一次q)。

top命令是Linux下常用的性能分析工具,类似于Windows的任务管理器,它可以实时显示系统中每个进程的资源占用状态。

您可以直接使用top命令查看%MEM的内容。您可以选择按进程或按用户查看。如果要查看oracle用户的进程内存使用情况,可以使用以下命令:

  $ top -u oracle

内容说明:

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

操作示例:

在命令行中输入“顶部”

您可以从头开始

顶部的全屏对话模式可以分为3部分:系统信息栏,命令输入栏和进程列表栏。

第一部分-顶部系统信息栏:

第一行(顶部):

    “00:11:04”为系统当前时刻;
    “3:35”为系统启动后到现在的运作时间;

“ 2个用户”是当前登录到系统的用户,或更准确地说,是登录到该用户的终端的数量-将考虑同一用户同时连接到系统的多个终端当有多个用户连接到系统时,此处的用户数也将表示为终端数;

“平均负载”是当前系统负载的平均值。以下三个值是1分钟前,5分钟前和15分钟前的平均进程数。通常,可以认为,当该值超过CPU数量时,CPU加载当前系统中包含的进程会更加困难;

第二行(任务):

    “59 total”为当前系统进程总数;
    “1 running”为当前运行中的进程数;
    “58 sleeping”为当前处于等待状态中的进程数;
    “0 stoped”为被停止的系统进程数;
    “0 zombie”为被复原的进程数;

第三行(Cpus):

分别表示当前的CPU利用率;

第四行(记忆):

分别表示内存总量,当前使用量,可用内存和缓冲内存使用情况;

第五行(交换):

表示类别与第四行(Mem)相同,但是此处反映了交换分区(Swap)的用法。通常,频繁使用交换分区(Swap)将被视为物理内存不足的结果。

第二部分-中间部分的内部命令提示符栏:

在top操作期间,可以通过top的内部命令来控制过程的显示模式。内部命令如下:

  s
  - 改变画面更新频率
  l - 关闭或开启第一部分第一行 top 信息的表示
  t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
  m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
  N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)
  P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)
  M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)
  h - 显示帮助
  n - 设置在进程列表所显示进程的数量
  q - 退出 top
  s -

更改屏幕更新周期

第三部分-进程列表列的底部:

以PID区分的处理列表将根据设置的屏幕更新时间定期更新。可以通过顶部的内部命令控制此处的显示模式

pmap

您可以根据进程查看与进程相关的信息所占用的内存(可以通过ps查看进程号),如下所示:

  $ pmap -d 5647

ps

如以下示例所示:

  $ ps -e -o 'pid,comm,args,u,rsz,vsz,stime,user,uid'  其中rsz是是实际内存
  $ ps -e -o 'pid,comm,args,u,rsz,vsz,stime,user,uid' | grep oracle |  sort -nrk

其中rsz是实际的内存,上面的示例实现了按内存从大到小的排序

要在Linux下查看内存,我们通常使用free命令:

[root@scs-2 tmp]# free
             total       used       free     shared    buffers     cached
Mem:       3266180    3250004      16176          0     110652    2668236
-/+ buffers/cache:     471116    2795064
Swap:      2048276      80160    1968116

以下是这些值的说明:

total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。

第三行(-/ +缓冲区/已缓存):

used:已使用多大。
free:可用有多少。

第四行说明不多。

查看本机端口占用情况_查看内存使用情况_查看情况

差异:第二行(mem)中的used / free和第三行(-/ + buffers / cache)中的used / free之间的差异。从使用的角度来看,两者之间的区别。第一行是从OS的角度来看的。因为对于OS,缓冲区/缓存均已使用,所以其可用内存为16176KB,已使用内存为3250004KB。其中,内核(OS)使用+应用程序(X,oracle等)+缓冲区+缓存。

第三行是指应用程序的角度,对于应用程序来说,buffers / cached等于可用,因为buffer / cached是为了提高文件读取性能,当需要使用应用程序时达到内存,缓冲区/缓存将被快速回收。

因此从应用程序的角度来看,可用内存=系统可用内存+缓冲区+缓存。

如上例所示:

2795064 = 16176 + 110652 + 2668236

接下来,说明何时更换内存以及使用哪种方法。当可用内存小于额定值时,将举行会议以进行交换。

如何查看评分:

cat / proc / meminfo

[root@scs-2 tmp]# cat /proc/meminfo
MemTotal:      3266180 kB
MemFree:         17456 kB
Buffers:        111328 kB
Cached:        2664024 kB
SwapCached:          0 kB
Active:         467236 kB
Inactive:      2644928 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      3266180 kB
LowFree:         17456 kB
SwapTotal:     2048276 kB
SwapFree:      1968116 kB
Dirty:               8 kB
Writeback:           0 kB
Mapped:         345360 kB
Slab:           112344 kB
Committed_AS:   535292 kB
PageTables:       2340 kB
VmallocTotal: 536870911 kB
VmallocUsed:    272696 kB
VmallocChunk: 536598175 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     2048 kB

使用free -m查看结果:

[root@scs-2 tmp]# free -m
             total       used       free     shared    buffers     cached
Mem:          3189       3173         16          0        107       2605
-/+ buffers/cache:        460       2729
Swap:         2000         78       1921

检查/ proc / kcore文件的大小(内存镜像):

[root@scs-2 tmp]# ll -h /proc/kcore
-r-------- 1 root root 4.1G Jun 12 12:04 /proc/kcore

备注:

内存使用情况的测量

测量一个进程占用多少内存。 Linux为我们提供了一种非常方便的方法。 / proc目录为我们提供了所有信息。实际上,诸如top之类的工具也使用此工具来获取相应的信息。

/proc/meminfo 机器的内存使用信息
/proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。
/proc/pid/statm 进程所占用的内存

[root@localhost ~]# cat /proc/self/statm
57 44 0 0 334 0

输出说明

CPU和CPU0。 。 。 (以第一行为例)每行中每个参数的含义是:

参数说明/ proc // status

Size (pages) 任务虚拟地址空间的大小 VmSize/4
Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4
Shared(pages) 共享页数 0
Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4
Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4
Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4
dt(pages) 04

检查机器的可用内存

/proc/28248/>free
total used free shared buffers cached
Mem: 1023788 926400 97388 0 134668 503688
-/+ buffers/cache: 288044 735744
Swap: 1959920 89608 1870312

当我们通过free命令检查机器的空闲内存时,我们发现free的值很小。这主要是因为Linux中有这样一种思想,即内存并非无所不用,因此它会尽可能多地缓存和缓冲某些数据以方便下次使用。但实际上,这些内存也可以立即使用。

因此,可用内存= free + buffers + cached =已全部使用

The

top命令是Linux下常用的性能分析工具。它可以实时显示系统中每个进程的资源占用状态,类似于Windows的任务管理器。使用方法将在下面详细说明。

top - 02:53:32 up 16 days,  6:34, 17 users,  load average: 0.24, 0.21, 0.24
Tasks: 481 total,   3 running, 474 sleeping,   0 stopped,   4 zombie
Cpu(s): 10.3%us,  1.8%sy,  0.0%ni, 86.6%id,  0.5%wa,  0.2%hi,  0.6%si,  0.0%st
Mem:   4042764k total,  4001096k used,    41668k free,   383536k buffers
Swap:  2104472k total,     7900k used,  2096572k free,  1557040k cached


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-373560-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...