查看cpu:lscpu,也可以cat /proc/cpuinfo<br />查看内存:cat /proc/meminfo,也可以free,还有dmidecode -t memory<br />查看硬盘信息命令:smartctl --all /dev/sda,如果做了raid会报错,但可以借助额外的工具MegaCli。查看硬盘分区:lsblk,查看分区详情:fdisk -l<br />查看网卡: lspci | grep -i \\\'eth\\\',查看指定网卡: ethtool eth0<br />查看主板信息:lspci<br />查看bios信息:dmidecode -t bios
https://github.com/amscanne/huptime
按CPU占用高低排序指定进程的线程:<br />ps -mp $PID -o THREAD,tid,time | sort -rn
1. malloc 使用 mmap 分配的内存 ( 大于 128k) , free 会调用 munmap 系统调用马上还给 OS ,实现真正释放。 <br />2. 堆内的内存,只有释放堆顶的空间,同时堆顶总连续空闲空间大于 128k 才使用 sbrk(-SIZE) 回收内存,真正归还 OS 。 <br />3. 堆内的空闲空间,是不会归还给 OS 的。
brk/sbrk和mmap行为分析<br />http://blog.chinaunix.net/uid-20682147-id-4204367.html
http://blog.chinaunix.net/uid-20682147-id-4204367.html
利用tcpcopy引流过程<br /><br /><br />目的:<br />将机器10.24.110.21的5000端口流量引流到机器10.23.25.11的5000端口。<br /><br />1) 线上机器:10.24.110.21<br />tcpcopy -x 4077-10.23.25.11:5000 -s 10.23.25.12 -c 192.168.100.x -n 1<br /><br />2) 测试机器:10.23.25.11<br />route add -net 192.168.100.0 netmask 255.255.255.0 gw 10.23.25.12<br /><br />3) 辅助机器:10.23.25.12<br />intercept -i eth1 -F tcp and src port 5000<br /><br />测试机器和辅助机器需要在同一网段,否则添加不了路由。
在iptables的INPUT链的第一行插入一条规则(可访问其它机器的80端口):<br />iptables -I INPUT 1 -p tcp --sport 80 -j ACCEPT<br /><br />在iptables的INPUT链尾追加一条规则(可访问其它机器的80端口):<br />iptables -A INPUT -p tcp --sport 80 -j ACCEPT
thrift-0.9.3编译和0.9.0稍不同,标准方式指定openssl:<br />./configure --prefix=/usr/local/thrift-0.9.3 CPPFLAGS=\"-fPIC\" LDFLAGS=\"-fPIC\" --with-libevent=/usr/local/libevent --with-boost=/usr/local/boost --with-openssl=/usr/local/openssl --enable-tutorial=no --enable-tests=no --enable-coverage=no --with-cpp=yes --with-java=yes --with-php=yes --with-ruby=no --with-python=no --with-erlang=no --with-csharp=no --with-qt4=no --with-qt5=no --with-c_glib=no --with-perl=no --with-haskell=no
一条命令取机器IP地址,不同Linux稍有不同:<br />netstat -ie|awk /broadcas/\'{print $2}\'<br />netstat -ie|awk -F \'[ :]+\' /cas/\'{print $4}\'<br />netstat -ie|awk -F \'[ :]+\' /cas/\'{print $3}\'
printf \"1 2,3\\t4;5|6\"|awk -F[\\|\\;,\\ \\\\t] \'{print $1,$2,$3,$4,$5,$6}\'
date --date=@$((`date +%s`-86400)) \"+%Y-%m-%d\"
以使用一下命令查使用内存最多的10个进程: <br />ps -aux | sort -k4nr | head -n 10<br /><br />可以使用一下命令查使用CPU最多的10个进程:<br />ps -aux | sort -k3nr | head -n 10
export LANG=zh_CN.utf-8 <br />export LC_CTYPE=zh_CN.utf-8
netstat -ie|awk -F\'[ :]+\' \'BEGIN{ok=0;} {if (match($0, \"eth1\")) ok=1; if ((1==ok) && match($0,\"inet\")) { ok=0; if (7==NF) printf(\"%s\\n\",$3); else printf(\"%s\\n\",$4); } }\'
netstat -ie|awk -F\'[ :]+\' \'BEGIN{ok=0;} {if (match($0, \"eth1\")) ok=1; if ((1==ok) && match($0,\"inet\")) { ok=0; if (7==NF) printf(\"%s\\n\",$3); else printf(\"%s\\n\",$4); } }\'<br /><br />执行前,需要将自动添加的转义斜杠删除。
如何链接链接libc、libc++、librt和libz的静态库?<br />-Wl,-Bstatic -static-libgcc -static-libstdc++ -lrt -lz