《Linux高性能服务器编程》---读书笔记(五)---优化与监测

微调内核参数

  • 最大文件描述符数量。
  • epoll最大数量。

GDB调试

  • gcc或g++编译时,需要加上-g选项,产生必要的调试信息。
  • 开始调试:gdb a.out
  • 设置断点:(gdb) break(b) main.c 12 — 在main.c的12行设置断点。
  • 删除断点:查看断点的编号后,delete 编号,就可以删除了。
  • 禁用断点:disable。
  • 执行: run(简写r),后面可以添加运行参数
  • 继续:continue©
  • next(n):执行下一行。step(s):进入函数内部。until(u)直接运行完循环体。
  • 打印变量: print§ xxx, xxx为变量名。display xxx,是在每次断点暂停都会打印这个变量。
  • 修改变量:也是使用print, print a=10。
  • 显示程序代码: list(简写 l)
  • 终止:quit
  • info可以查看参数、局部变量、内存位置、断电信息、线程信息、寄存器信息等。
  • 还有一些操作:比如单独调试子进程,单独调试某个线程,显示调用栈,临时修改环境变量,watch命令监控某个变量的变化,处理信号。

tcpdump

  • 抓包工具。
  • 可以指定协议,比如指定icmp。$ tcpdump icmp
  • 可以指定端口,指定发送端或目标端口。$ tcpdump dst port 13579
  • 可以指定ip地址,或者范围地址(ip/掩码)。
  • 还可以直接使用数据包中的部分协议字段来过滤。

lsof

  • 显示linux打开的所有文件描述符,-i 选项是显示socket文件描述符。

strace

  • 统计系统调用,可以统计系统调用执行的时间,次数,出错等。

netstat

  • 强大的网路信息统计命令,可以打印网卡上的连接,路由表信息,网卡接口信息。主要是查看网络连接。
    在这里插入图片描述

vmstat

  • 实时输出系统的各种资源的使用情况,比如内存使用,CPU使用,进程信息,I/O使用情况等。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值