Linux命令及CPU占用过高的定位分析思路 | 您所在的位置:网站首页 › grep查看上下文 › Linux命令及CPU占用过高的定位分析思路 |
一、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 -lnptPS: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.txt2.强制删除 test.txt,系统不再提示。 rm -f test.txt3.将 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工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数单位是秒,第二个参数是采样的次数。 procsr:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列 不要超过2,整个系统的运行队列不能超过总核数的2倍,否则代表系统压力过大。 b:等待资源的进程数,比如正在等待磁盘I/O、网络I/O等。 cpuus:用户进程消耗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查看pidstatpidstat是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 实验室设备网 版权所有 |