一些linux下的命令
echo 8192 > /proc/sys/vm/nr_hugepages && rm -rf /dev/hugePages/*
netperf
./netperf -t TCP_RR -l 100 -H 11.142.150.199 -p 12488 -- -r 4096,64
/root/netperf -t TCP_STREAM -l 10 -H 11.238.225.45
tcpdump
tcpdump -i bond0 -n port 10266 and 'tcp[tcpflags] & (tcp-fin|tcp-syn|tcp-ack) != 0'
strace
sudo strace -p 115537 -f -e connect
火焰图
https://github.com/cobblau/FlameGraph.git
perf record --call-graph dwarf -p 12345
perf script | FlameGraph/stackcollapse-perf.pl | FlameGraph/flamegraph.pl > process.svg
查看nvme盘型号:
sudo nvme get-log /dev/nvme0 -i 0xdd -l 512 -b
在当前目录启动一个httpserver:
python -m SimpleHTTPServer
python -m SimpleHTTPServer 8000
ddif=/dev/zero of=/apsarapangu/disk1/z.tmp bs=1M count=1000
smartctl -a /dev/sda 查看磁盘/dev/sda的所有smart信息
sudo badblocks -sv /dev/sda 查看磁盘上的坏扇区个数
sas2ircu 0 DISPLAY 磁盘的Controller和Disk的信息
iostat-x 1
rrqm/s: 每秒进行 merge 的读操作数目.即delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目.即delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数.即delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数.即delta(wio)/s
rsec/s: 每秒读扇区数.即 delta(rsect)/s
wsec/s: 每秒写扇区数.即delta(wsect)/s
rkB/s: 每秒读K字节数.是 rsect/s 的一半,因为每扇区大小为512字节.(需要计算)
wkB/s: 每秒写K字节数.是 wsect/s 的一半.(需要计算)
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区).delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度.即 delta(aveq)/s/1000 (因为aveq的单位为毫秒).
await: 平均每次设备I/O操作的等待时间 (毫秒).即delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间(毫秒).即delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于I/O 操作,或者说一秒中有多少时间I/O 队列是非空的.即delta(use)/s/1000 (因为use的单位为毫秒)
To freepagecache, use echo 1 > /proc/sys/vm/drop_caches
to freedentries and inodes, use echo 2 > /proc/sys/vm/drop_caches
to freepagecache, dentries and inodes, use echo 3 >/proc/sys/vm/drop_caches.
检查磁盘是否4K对齐(分区的起始位置能被4096整除,则说明是4k对齐的)
sudoparted -s /dev/sdc unit B print
Strace
Strace -T 打印出每个系统调用的耗时
Strace -c 对系统调用做统计,收到SIGINT信号后,打印出统计信息。
Strace -p {pid} 只对该这个进程做trace,不会trace它的子进程或子线程
Strace -fp {pid} 对pid以及它的所有线程做trace
Strace -T -fp {Pid} -c 对进程pid的所有线程做trace,SIGINT后输出统计信息
查看文件1399731开始的4096字节的每个字符
hexdump/apsara/pangu_chunkserver/log/record_operation.LOG.126 -s 1399731 -n 4096 -c
将端口bond0上的所有tcp包都抓下来,写到文件log.cap中
tcpdump -i bond0 tcp -w log.cap
将disk1目录下面的所有文件都设置为只读:
chattr +i -R /apsarapangu/disk1 (lsattr查看一个文件或目录的权限)
删除N天前的文件 find . -atime +30 -exec rm -rf {} \;
程序链接时报错collect2: ld returned 1 exit status,但是没有其他任何额外的错误信息,有可能是/目录满了。。。。
ps -p 34369 -o lstart 查看进程启动时间
pstree -s -p {pid} 查看该进程的完整进程树
1 perf record --call-graph dwarf -p 14168
2 perf record --no-children
- netsat -s 查看网络统计信息
netstat -I 查看每个端口的信息
netstat -alnp | grep pangu 查看监听信息
- tcpdump -i bond0 tcp -w log.cap 抓bond0的包,写到文件log.cap中
Strace
Strace -T 打印出每个系统调用的耗时
Strace -c 对系统调用做统计,收到SIGINT信号后,打印出统计信息。
Strace -p {pid} 只对该这个进程做trace,不会trace它的子进程或子线程
Strace -fp {pid} 对pid以及它的所有线程做trace
Strace -T -fp {Pid} -c 对进程pid的所有线程做trace,SIGINT后输出统计信息

浙公网安备 33010602011771号