查看进程树找到服务器进程,包括运行的路径强制关闭进程名包含xxx的所有进程CDN中往往使用此来绑定节点测试写入修改指定文件的大小Linux 关机,重启查看系统,CPU信息建立软连接nohup后台运行命令强制活动用户退出last, 最近登录信息列表设置固定ip添加用户, 配置sudo权限变更文件所属用户, 用户组去除特殊字符查看什么进程使用了该端口topiostat,磁盘IO情况监控sar,查看网络吞吐状态
查看进程树找到服务器进程,包括运行的路径ps auwxf强制关闭进程名包含xxx的所有进程
ps aux|grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9
CDN中往往使用此来绑定节点测试
-x 绑定IP访问,在 curl -voa http://api.newxexpress.com -x 161.117.14.240:80写入修改指定文件的大小
truncate -s 50M as.logLinux 关机,重启
# 关机 shutdown -h now # 重启 shutdown -r now查看系统,CPU信息
# 查看系统内核信息 uname -a # 查看系统内核版本 cat /proc/version # 查看当前用户环境变量 env cat /proc/cpuinfo # 查看有几个逻辑cpu, 包括cpu型号 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 查看有几颗cpu,每颗分别是几核 cat /proc/cpuinfo | grep physical | uniq -c # 查看当前CPU运行在32bit还是64bit模式下, 如果是运行在32bit下也不代表CPU不支持64bit getconf LONG_BIT # 结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l建立软连接
ln -s /usr/local/jdk1.8/ jdknohup后台运行命令
# 后台运行,并且有nohup.out输出 nohup xxx & # 后台运行, 不输出任何日志 nohup xxx > /dev/null & # 后台运行, 并将错误信息做标准输出到日志中 nohup xxx >out.log 2>&1 &强制活动用户退出
# 命令来完成强制活动用户退出.其中TTY表示终端名称 pkill -kill -t [TTY]last, 最近登录信息列表
# 最近登录的5个账号 last -n 5设置固定ip
ifconfig em1 192.168.5.177 netmask 255.255.255.0添加用户, 配置sudo权限
# 新增用户 useradd 用户名 passwd 用户名 #增加sudo权限 vim /etc/sudoers # 修改文件里面的 # root ALL=(ALL) ALL # 用户名 ALL=(ALL) ALL变更文件所属用户, 用户组
chown eagleye.eagleye xxx.log去除特殊字符
sed -i 's/^M//g’ env.sh 去除文件的特殊字符, 比如^M: 需要这样输入: ctrl+v+enter # 反向匹配, 查找不包含xxx的内容 grep -v xxx # 排除所有空行 grep -v '^/pre> # 查询以abc开头的行 grep -n “^abc” 111.txt查看什么进程使用了该端口
lsof -i:por
查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
top
PID 进程id PPID 父进程id RUSER Real user name UID 进程所有者的用户id USER 进程所有者的用户名 GROUP 进程所有者的组名 TTY 启动进程的终端名。不是从终端启动的进程则显示为 ? PR 优先级 NI nice值。负值表示高优先级,正值表示低优先级 P 最后使用的CPU,仅在多CPU环境下有意义 %CPU 上次更新到现在的CPU时间占用百分比 TIME 进程使用的CPU时间总计,单位秒 TIME+ 进程使用的CPU时间总计,单位1/100秒 %MEM 进程使用的物理内存百分比 VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。 RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA CODE 可执行代码占用的物理内存大小,单位kb DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb SHR 共享内存大小,单位kb nFLT 页面错误次数 nDRT 最后一次写入到现在,被修改过的页面数。 S 进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程 COMMAND 命令名/命令行 WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名 Flags 任务标志,参考 sched.hiostat,磁盘IO情况监控
iostat -xz 1 # r/s, w/s, rkB/s, wkB/s:分别表示每秒读写次数和每秒读写数据量(千字节)。读写量过大,可能会引起性能问题。 # await:IO操作的平均等待时间,单位是毫秒。这是应用程序在和磁盘交互时,需要消耗的时间,包括IO等待和实际操作的耗时。如果这个数值过大,可能是硬件设备遇到了瓶颈或者出现故障。 # avgqu-sz:向设备发出的请求平均数量。如果这个数值大于1,可能是硬件设备已经饱和(部分前端硬件设备支持并行写入)。 # %util:设备利用率。这个数值表示设备的繁忙程度,经验值是如果超过60,可能会影响IO性能(可以参照IO操作平均等待时间)。如果到达100%,说明硬件设备已经饱和。 # 如果显示的是逻辑设备的数据,那么设备利用率不代表后端实际的硬件设备已经饱和。值得注意的是,即使IO性能不理想,也不一定意味这应用程序性能会不好,可以利用诸如预读取、写缓存等策略提升应用性能。sar,查看网络吞吐状态
# sar命令在这里可以查看网络设备的吞吐率。在排查性能问题时,可以通过网络设备的吞吐量,判断网络设备是否已经饱和。 sar -n DEV 1 # sar命令在这里用于查看TCP连接状态,其中包括: # active/s:每秒本地发起的TCP连接数,既通过connect调用创建的TCP连接; # passive/s:每秒远程发起的TCP连接数,即通过accept调用创建的TCP连接; # retrans/s:每秒TCP重传数量; # TCP连接数可以用来判断性能问题是否由于建立了过多的连接,进一步可以判断是主动发起的连接,还是被动接受的连接。TCP重传可能是因为网络环境恶劣,或者服务器压力过大导致丢包 sar -n TCP,ETCP 1
未完待续



