linux常用命令,排查问题效率高10倍


写在前面

学会这几个基本的、常用的系统命令,排查问题效率高10倍

top

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

top命令有一些参数

 top -h
top usage: top
		[-a | -d | -e | -c <mode>]
		[-F | -f]
		[-h]
		[-i <interval>]
		[-l <samples>]
		[-ncols <columns>]
		[-o <key>] [-O <secondaryKey>]
			keys: pid (default), command, cpu, cpu_me, cpu_others, csw,
				time, threads, ports, mregion, mem, rprvt, purg, vsize, vprvt,
				kprvt, kshrd, pgrp, ppid, state, uid, wq, faults, cow, user,
				msgsent, msgrecv, sysbsd, sysmach, pageins, boosts, instrs, cycles
		[-R | -r]
		[-S]
		[-s <delay>]
		[-n <nprocs>]
		[-stats <key(s)>]
		[-pid <processid>]
		[-user <username>]
		[-U <username>]
		[-u]

top命令结果说明

-   uptime:系统的运行时间和平均负载。
-   tasks:当前运行的进程和线程数目。
-   CPU:总体 CPU 使用率和各个核心的使用情况。
-   内存(Memory):总体内存使用情况、可用内存和缓存。

进程信息:

-   PID:进程的标识符。
-   USER:运行进程的用户名。
-   PR(优先级):进程的优先级。
-   NI(Nice值):进程的优先级调整值。
-   VIRT(虚拟内存):进程使用的虚拟内存大小。
-   RES(常驻内存):进程实际使用的物理内存大小。
-   SHR(共享内存):进程共享的内存大小。
-   %CPU:进程占用 CPU 的使用率。
-   %MEM:进程占用内存的使用率。
-   TIME+:进程的累计 CPU 时间。

lsof

lsof(list open files)是一个查看进程打开的文件的工具。

在 linux 系统中,一切皆文件。通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以 lsof 命令不仅可以查看进程打开的文件、目录,还可以查看进程监听的端口等 socket 相关的信息

lsof -h查看命令详情

image.png
常用选项
-a 指示其它选项之间为与的关系
-c <进程名> 输出指定进程所打开的文件
-d <文件描述符> 列出占用该文件号的进程
+d <目录>  输出目录及目录下被打开的文件和目录(不递归)
+D <目录>  递归输出及目录下被打开的文件和目录
-i <条件>  输出符合条件与网络相关的文件
-n 不解析主机名
-p <进程号> 输出指定 PID 的进程所打开的文件
-P 不解析端口号
-t 只输出 PID
-u 输出指定用户打开的文件
-U 输出打开的 UNIX domain socket 文件
-h 显示帮助信息
-v 显示版本信息

ps

ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

最常用命令:ps -ef | grep 进程关键字

消耗内存前10排序的进程:ps aux | sort -k4nr |head -n 10

消耗CPU前10排序的进程:ps aux | sort -k3nr |head -n 10

ps aux命令会展示下面这些列:

USER               PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND

sort -k3nr表示按照第3列递减排序

head -n 10表示展示前10条

IO

每隔1s查询一次 共查询10次:iostat 1 10

路由信息

查看主机路由信息:netstat -rn

du

du (英文全拼:disk usage)命令用于显示目录或文件的大小。

常用参数:

  • h:以K,M,G为单位,提高信息的可读性
  • d:后面加一个数字,表示递归显示层次。一般用法:du -d 1 -h

这个命令最常用的是当磁盘不够用需要删除某些文件的时候,可以通过这个命令查看那个目录或者文件比较大,从而删除。

参考

[1]Linux centos内存高,查看占用内存命令

[2]linux查看进程占用cpu、内存、io信息

[3]Linux top 命令

[4]lsof(list open files)是一个查看进程打开的文件的工具

[5]Linux du 命令


文章作者: Alex
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alex !
  目录