1.如何查找一个进程打开的所有文件
只查看该进程:ps -ef | grep pid
查看该进程打开的文件:lsof -p pid
查看内存分配:lcat /proc/pid/maps
查看堆栈:pstack pid/ gstack pid
查看发出的系统调用:strace -p pid
查看调用库函数:ltrace -p pid
2.排查程序死锁
通过pstack pid查看堆栈,pstack命令须由$pid进程的属主或者root运行。
3.查看文件,与在文件中查找
cat,查看文件,vim文件 :/xx 可以检索xx内容 ,vim下的替换 :s/xxx/sss/g /g代替换当前行所有的xxx为sss
4.查看端口占用否,以及查看网络端口的情况;
lsof -i
lsof -i:8080
netstat -anp|grep 端口号
netstat -ntlp //查看当前所有tcp端口·若是udp端口则为u
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -ntulp | grep 3306 //查看所有3306端口使用情况·
5.查看进程占用的资源
top
6.查看磁盘读写吞吐量
free
7.批量替换文本内容
sed
1.sed -i 's/^Str/String/' xx(文件名)
2.sed -i 's/\.$/\;/' xx(文件名)
3.sed -i 's/Jck/me/g' xx(文件名) g有全文替换的意思
7.监视io的吞吐量
安装yum/apt-get install sysstat -y
查看i/o使用情况iostat -x 1 10,1代表每1秒监控一次,10 监控10次。
8.查看硬盘使用情况
查看文件硬盘使用情况: df -h
9.进程的内存分布图
下次再写
10.进程的通信方式
11.排查cpu100%使用
12.io多路复用
13.fork函数