Linux命令及CPU占用过高的定位分析思路 您所在的位置:网站首页 grep查看上下文 Linux命令及CPU占用过高的定位分析思路

Linux命令及CPU占用过高的定位分析思路

#Linux命令及CPU占用过高的定位分析思路| 来源: 网络整理| 查看: 265

一、vim命令

不要使用vim打开大文件,vim会一次性读取所有内容到内存,容易造成宿主机内存溢出。 打开文件前,可以使用du -h命令查看文件大小。一般,100MB以下为宜。

1、普通模式 j 向下 30j 向下移动30行 k 向上 h 向左 l 向右 0 到行首 ^ 到行首第一个字符,如果前面有空格的话 $ 到行尾 gg 快速到文件头 G 快速到文件尾 100G 跳转到第100行 2、命令模式

在普通模式下,输入:即可进入。

在命令模式下输入:

:set nu 显示行号 :set nonu 不显示行号 3、查找字符串

在普通模式下,按下/直接进入查找,输入相应的字符串按确定即可。

n 查找下一个匹配 N 查找上一个匹配 2n 查找下面第二个匹配 二、firewall-cmd命令 1、开放端口 firewall-cmd --zone=public --add-port=8888/tcp --permanent # 开放8888端口,永久增加:reload后生效 firewall-cmd --zone=public --remove-port=8888/tcp --permanent #关闭8888端口 firewall-cmd --reload # 更新防火墙规则,配置立即生效

查看防火墙:

firewall-cmd --list-all 2、查看防火墙所有开放的端口 firewall-cmd --zone=public --list-ports 3、关闭防火墙

如果不想管控端口,直接关闭系统防火墙,啥都能通,但安全性不强,不建议。

systemctl stop firewalld.servic 4、查看防火墙状态 firewall-cmd --state 5、查看监听的端口 netstat -lnpt

PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools

6、检查端口被哪个进程占用 netstat -lnpt |grep 8888 7、查看进程的详细信息 ps 8888 8、中止进程 # kill -9 [进程号] ,例如 kill -9 6832 三、rm 命令

删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

命令格式:rm [选项] 文件 常用参数

-f, --force 忽略不存在的文件,从不给出提示。

-i, --interactive 进行交互式删除

-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。

-v, --verbose 详细显示进行的步骤

--help 显示此帮助信息并退出

--version 输出版本信息并退出

使用实例

1.删除文件 test.txt,系统会提示是否删除。

rm test.txt

2.强制删除 test.txt,系统不再提示。

rm -f test.txt

3.将 test 子目录及目录中所有档案删除。

rm -r test 四、top分析性能(整机)

常用的分析性能的工具,能够实时监控系统中各个进程资源占用的情况,这和windows中任务管理器有点类似。

系统时间:17:15:47

运行时间:118 days, 22 min,

当前登录用户: 4 users,

负载均衡(uptime):load average: 0.09, 0.10, 0.03

average后面的三个数分别是1分钟、5分钟、15分钟的负载情况,load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了

按1键:

按进程的CPU使用率排序:运行top命令后,按键大写P 按进程的内存使用率排序:运行top命令后,键入大写M uptime系统性能命令的精简版 五、cpu查看vmstat(CPU) vmstat -n 2 3

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数单位是秒,第二个参数是采样的次数。

procs

r:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列 不要超过2,整个系统的运行队列不能超过总核数的2倍,否则代表系统压力过大。

b:等待资源的进程数,比如正在等待磁盘I/O、网络I/O等。

cpu

us:用户进程消耗CPU时间百分比,us值高,用户进程消耗CPU时间多,如果长期大于50%,优化程序。

sy:内核进程消耗CPU时间百分比。

us+sy参考值为80%,如果us+sy大于80%,说明可能存在CPU不足。

id:处于空闲的CPU百分比。

wa:系统等待IO的CPU时间百分比。

st:来自于一共虚拟机偷取的CPU时间百分比。

mpstat -P ALL 2 mpstat [-P {|ALL}] [internal [count]] 参数 解释 -P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值 internal 相邻的两次采样的间隔时间、 count 采样的次数,count只能和delay一起使用,当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段的平均信息。

mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据;而类似工具vmstat只能查看系统整体cpu情况。

六、cpu查看pidstat

pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

pidstat [ 选项 ] [ ] [ ]

常用的参数:

-u:默认的参数,显示各个进程的cpu使用统计

-r:显示各个进程的内存使用统计

-d:显示各个进程的IO使用情况

-p:指定进程号

-w:显示每个进程的上下文切换情况

-t:显示选择任务的线程的统计信息外的额外信息

-T { TASK | CHILD | ALL }

这个选项指定了pidstat监控的。TASK表示报告独立的task,CHILD关键字表示报告进程下所有线程统计信息。ALL表示报告独立的task和task下面的所有线程。

注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。

-V:版本号

-h:在一行上显示了所有活动,这样其他程序可以容易解析。

-I:在SMP环境,表示任务的CPU使用率/内核数量

-l:显示命令名和所有参数

pidstat -u 1 -p 2656416 // 2656416进程每一秒打印一次打印出详细情况 七、内存查看free(内存)和pidstat free [-b-k-m] [-o] [-s delay] [-t] [-V] free命令用来显示内存的使用情况,使用权限是所有用户。

经验值

应用程序可用内存/系统物理内存>70%内存充足

应用程序可用内存/系统物理内存



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有