1、进程 | 线程操作
ps 默认查看当前终端中运行的线程
ps -eLf 带上参数L可以查看正在运行的线程id
top 系统检测工具
top -H 显示应用程序的每一个线程信息
top fj 显示进程或线程在哪个cpu上运行
2、调试程序gdb
l ---------显示代码 b ---------加断点 info break-------显示断点信息
r---------启动程序 n---------下一步 c--------继续运行
s---------进入函数 p---------打印 finish---------退出函数
bt-------显示函数调用栈关系
set follow-fork-mode child 跟踪子进程
attach pid 选择跟踪哪个子进程
info threads 显示可调试线程信息(线程id)
thead id 调试指定线程
3、ldd main 查看某个程序使用了哪些共享库
4、nm main 查看二进制目标文件中的符号表,即函数名、逻辑地址等。
5、objdump 查看二进制目标文件的构成
6、strace 跟踪程序执行过程使用了哪些系统调用函数
7、ltrace 跟踪程序执行过程使用了哪些库函数
8、ipcs 查看系统当前 信号量、共享内存、消息队列的使用情况
ipcs -m 查看共享内存信息
ipcs -q 查看消息队列信息
ipcs -s 查看信号量信息
ipcrm -m 移除shmid标识的共享内存段
ipcrm -s 移除semid标识的信号量
ipcrm -q 移除msgid标识的消息队列
9、netstat(ss) 查看网络相关信息、TCP连接、TCP和UDP监听。
可查看tcp连接状态、某个进程使用哪个端口、查看发送缓冲区,接收缓冲区中的数据字节数
10、lsof 查看某个进程打开的文件
11、mpstat 获取多个处理器使用情况(CPU相关的统计信息)
mpstat可以显示每一个处理器的统计信息,vmstat显示所有处理器的统计信息。
12、vmstat 可实时输出系统各种资源的使用情况,如内存、cpu、io等
13、tcpdump 网络抓包工具
14、nc 快速构建一个网络连接,可以服务端运行,也可以作为客户端。也能扫描某个端口是否打开。
15、sar 收集系统性能信息
16、free 系统内存使用情况
17、slabtop 实时显示系统如何分配各种缓存,以及缓存的使用情况
18、time 测试程序执行的性能,如运行时间
19、iostat 显示磁盘信息
20、ifconfig 查看ip地址
21、ethtool 显示以太网设备统计信息及配置信息
22、taskset 设置某个进程在哪个cpu上运行