Linux操作系统调优相关工具(一)查看CPU负载相关工具 找出系统中使用CPU最多的进程?

简介: Linux操作系统调优相关工具(一)查看CPU负载相关工具 找出系统中使用CPU最多的进程?

linux调优相关工具 主要介绍:

1、 系统调优概述和查看CPU负载相关工具
2 、查看Memory运行状态相关工具
3 、查看IO运行状态相关工具
4 、查看Network运行状态相关工具
5 、查看系统整体运行状态

一、系统调优概述和查看CPU负载相关工具

1.1系统调优思路

性能优化就是找到系统处理中的瓶颈以及去除这些的过程,性能优化其实是对OS 各子系统达到一种平衡的定义。具体步骤如下:

1. 系统的运行状况:  CPU -> MEM (内存) -> DISK(磁盘)->  NETWORK (网络)-> application(应用)

2. 分析是否有瓶颈(依据当前应用需求)

3. 调优(采取一定措施使变得优异)

任何一个高负载都会导致其他子系统出现问题.比如:
大量的网页调入请求导致内存队列的拥塞;
网卡的大吞吐量可能导致更多的 CPU 开销;
大量的 CPU 开销又会尝试更多的内存使用请求;
大量来自内存的磁盘写请求可能导致更多的 CPU 以及 IO 问题;
所以要对一个系统进行优化,查找瓶颈来自哪个方面是关键,虽然看似是某一个子系统出现问题,其实有可能是别的子系统导致的。调优就像医生看病,因此需要你对服务器所有地方都了解清楚

1.2  查看CPU负载相关工具

使用uptime命令查看系统cpu负载

load average:系统负载,即任务队列的平均长度。 三个数值分别为  1分钟、5分钟、15分钟前到现在的平均值

单核心,1分钟的系统平均负载不要超过3 同理2核不超过6

1.3找出系统中使用CPU最多的进程

(1)、运行top命令,按下大写的P,可以按CPU使用率来排序显示

ps 中 VIRT、RES和SHR的含意

VIRT:virtual memory usage 虚拟内存

   1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等;

   2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量。

RES:resident memory usage 常驻内存

   1、进程当前使用的内存大小,但不包括swap out;

   2、包含其他进程的共享;

   3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反;

   4、关于库占用内存的情况,它只统计加载的库文件所占内存大小。

SHR:shared memory 共享内存

   1、除了自身进程的共享内存,也包括其他进程的共享内存;

   2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小;

   3、计算某个进程所占的物理内存大小公式:RES – SHR;

   4、swap out后,它将会降下来。

(2)、 按照实际使用CPU,从大到小排序显示所有进程列表    

[root@120 ~]#  ps -aux --sort -pcpu | more   #按cpu降序排序

注: -pcpu 可以显示出进程绝对的路径,方便找出木马程序运行的路径。

查看 -pcpu 帮助: man ps  #然后搜索 pcpu

(3)、查看CPU信息

[root@120 ~]# cat /proc/cpuinfo

(4)使用mpstat查看CPU运行情况

  [root@120~]# mpstat    

注:每列参数说明

usr: 用户空间CPU使用占比。

nice: 低优先级进程使用CPU占比。nice值大于0。

   sys: 内核空间CPU使用占比。

   iowait: CPU等待IO占比。

   irq:CPU 处理硬中断占比。

   soft:CPU 处理软中断占比。

   idle:CPU 空闲时间占比。

   guest与steal与虚拟机有关,暂不涉及。

[root@120 ~]# mpstat -P ALL  #查看所有CPU运行状态

[root@120 ~]# mpstat -P ALL 1 100   #一秒钟刷新一次 连续刷新100次

 

 

 

/****总结***********/

实战1:找出系统中使用CPU最多的进程?

方法1:使用top命令
运行top , 然后数字键1
找出使用CPU最多的进程 ,按大写的P,可以按CPU使用率来排序显示

实战2:按照实际使用CPU,从大到小排序显示所有进程列表 

ps -aux --sort -pcpu | more   #按cpu降序排序
注: -pcpu 可以显示出进程绝对路径,方便找出木马程序运行的路径。

实战3:找出系统中使用内存最多的进程?

方法1:使用top命令
       运行top , 然后按下大写的M 可以按CPU使用率来排序显示
实战:按照实际使用内存,从大到小排序显示所有进程列表
    ps -aux  --sort -rss | more 内存降序排序(去掉减号就是升序)
   或:
    ps -aux  --sort -rss > a.log  保存到文件方便分析

 

视频和笔记  https://codechina.csdn.net/z13615480737/test1/-/tree/master

目录
相关文章
|
17天前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
43 1
|
5天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
47 13
|
12天前
|
SQL 运维 监控
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
|
26天前
|
监控 Java Linux
监控堆外使用操作系统工具
监控堆外使用操作系统工具
30 9
|
20天前
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
25天前
|
缓存 算法 Linux
Linux内核的心脏:深入理解进程调度器
本文探讨了Linux操作系统中至关重要的组成部分——进程调度器。通过分析其工作原理、调度算法以及在不同场景下的表现,揭示它是如何高效管理CPU资源,确保系统响应性和公平性的。本文旨在为读者提供一个清晰的视图,了解在多任务环境下,Linux是如何智能地分配处理器时间给各个进程的。
|
1月前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
69 1
|
1月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
5月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
5月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
192 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)