liunx性能监控基本命令


本文采用Centos7,其他系统可能有命令不存在等情况


  1. 系统启动事件 uptime
    image

  2. 内核日志 dmesg -T| tail
    image

  3. 进程状态 mpstat -P ALL 1 2 (主要看usr和iowait)
    image

  4. 内存情况 vmstat 1 10(主要看free、buff、si、so)
    image

  5. 高使用进程 pidstat 1 3 (主要是cpu占用率高的)
    image

  6. IO状态 iostat -xz 1 3
    image

  7. 内存 free -h
    image

  8. 网络 sar -n DEV 1 2
    image

  9. TCP状态 sar -n TCP,ETCP 1 3(active,passive,retrans)
    image

  10. 显示内核缓存信息 slabtop
    image


top命令详细参数:
image

PID:进程ID
user:进程归属用户
PR:优先级级别
NI:优先级值 越低越高


VIRT:进程使用的虚拟内存
RES:进程使用的物理内存
SHR:共享内存


S:进程状态
CUP:进程使用CPU率
MEM:进程使用内存率
TIME:进程使用CPU的时间
COMMAND:进程名称


查看CPU使用最高的进程 n 4
还原 n 0


查看指定端口号的进程
top -H -p pid


ps命令
ps -ef :
ps -aux:


netstat 命令
netstat -anp


tcpdump命令
linux上可用来抓包


lsof命令
一般用来查询端口号对应的进程信息
image



GDB调试工具

本文采用Centos7,使用GDB调试C代码,其他代码可能存在无法调试等情况


安装 yum install gdb
进入调试模式:gdb 文件
image
运行文件命令:run 或者 r
image
退出gdb调试命令:quit
image

查看程序文件命令:list
image
打断点命令:break 或者 b
image
查看断点等:info
image
清除断点 d 断点号
执行下一步:next 或者 n
image
继续运行到指定位置 until 或者 u 行号
打印变量信息:print 或者 p
image
变量名始终显示:display 变量名
image
进入调用函数:step 或者 s
image
继续运行 continu 或者 n
image
使用shell命令执行终端命令
image
gdb开启日志:set logging on
image
观察变量是否变化:watchpoint *地址参数

core文件

先用 ulimit命令修改core参数 ulimit -c unlimited
执行gdb 文件 core文件
image

调试正在运行的程序

image
修改文件变量:set var 变量 = 值

posted on 2022-08-01 09:06  一别正思红豆子  阅读(127)  评论(0编辑  收藏  举报