前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux后台开发常用工具

Linux后台开发常用工具

作者头像
一见
发布2019-03-14 15:21:42
1.3K0
发布2019-03-14 15:21:42
举报
文章被收录于专栏:蓝天蓝天

sed单引号替换(特殊字符需要使用反斜线”\”进行转义)

sed 's/原字符串/替换字符串/'

sed双引号替换

sed "s/原字符串包含'/替换字符串包含'/" 

sed问号替换

sed 's?原字符串?替换字符串?'

sed可同时执行多个替换,不同替换间使用分号分开,

如果需要直接修改文件方式替换,只需sed后带参数“-i”。

如果要替换的包含了“/”,则可使用“|”。

pwdx - report current working directory of a process,格式:pwdx pid

内存分析工具

valgrind

valgrind辅助工具

qcachegrind 可视化查看valgrind结果

淘宝DBA团队发布的监控脚本,使用perl开发,可以完成对linux系统和MySql相关指标的实时监控

orzdba 

取指定进程名的pid

pidof 进程名

性能瓶颈查看:

perf top -p pid

查看调用栈:

pstack pid

https://www.percona.com/

查询程序执行聚合的GDB堆栈跟踪,先进性堆栈跟踪,然后将跟踪信息汇总:

pt-pmp -p pid

格式化explain出来的执行计划按照tree方式输出,方便阅读:

pt-visual-explain

从log文件中读取插叙语句,并用explain分析他们是如何利用索引,完成分析之后会生成一份关于索引没有被查询使用过的报告:

pt-index-usage

其它:

vmstat

tcpdump 网络数据包分析器

  显示包的内容:

  tcpdump -i eth1 -n -vv -x -e -s 600 # 仅二进制

  tcpdump -i eth1 -n -vv -X -e -s 600 # 二进制和文本

  抓包保存到文件供Wireshark分析:

  tcpdump -i eth1 -n -vv -X -e -s 600 -w x.cap

  抓取192.168.31.1的80端口的包

  tcpdump -i eth1 host 192.168.31.1 and port 80

  抓取目标IP为192.168.31.1和目标端口为80端口的包

  tcpdump -i eth1 dst host 192.168.31.1 and dst port 80

-s 指定显示多少字节的包内容

objdump

nm

ldd

strings

iostat 输入/输出统计

ifstat 网络流量实时监控工具

$ ifstat  

#kernel

Interface        RX Pkts/Rate    TX Pkts/Rate    RX Data/Rate    TX Data/Rate  

                 RX Errs/Drop    TX Errs/Drop    RX Over/Rate    TX Coll/Rate  

lo                  8546 0          8546 0        11845K 0        11845K 0      

                       0 0             0 0             0 0             0 0      

eth1               93020 0         41717 0         8867K 0         5969K 0      

                       0 0             0 0             0 0             0 0      

vmstat 虚拟内存统计

sar (System Activity Reporter系统活动情况报告,最为全面的系统性能分析工具之一)

iptraf 实时IP局域网监控

iftop 网络带宽监控

htop 进程监控

iotop 磁盘I/O监测工具

fuser 使用文件或文件结构识别进程

lsof 打开文件列表

dmesg

slabtop

free

slurm 查看网络流量

byobu 类似于screen

tmux 终端复用工具,类似于screen

screen 在多个进程之间多路复用一个物理终端的窗口管理器

dtach 用来模拟screen的detach的功能的小工具

dstat 可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品

$ dstat

You did not select any stats, using -cdngy by default.

----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--

usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 

  4   6  89   0   0   0| 746B  118k|   0     0 |   0    18B| 850  5461 

  8   9  82   0   0   0|   0    92k| 111k   71k|   0     0 |6888    15k

 17  39  44   0   0   0|   0    96k| 107k   62k|   0     0 |7392    19k

  2   3  94   0   0   0|   0   484k| 124k  171k|   0     0 |6855    13k

dstat -l -m -r -c  --top-io --top-mem --top-cpu

---load-avg--- ------memory-usage----- --io/total- ----total-cpu-usage---- ----most-expensive---- --most-expensive- -most-expensive-

 1m   5m  15m | used  buff  cach  free| read  writ|usr sys idl wai hiq siq|     i/o process      |  memory process |  cpu process   

0.14 0.14 0.14|2710M  407M 6067M  117G|0.01  3.34 |  0   0 100   0   0   0|process_mon 960k  639B|redis-server 412M|report_proxy 0.0

0.13 0.14 0.14|2710M  407M 6067M  117G|   0     0 |  0   0 100   0   0   0|redis-serve  13k 9360B|redis-server 412M|report_proxy 0.1

0.13 0.14 0.14|2710M  407M 6067M  117G|   0     0 |  0   0  99   0   0   0|process_mon2027k 1986B|redis-server 412M|report_proxy 0.0

0.13 0.14 0.14|2710M  407M 6067M  117G|   0     0 |  0   0 100   0   0   0|sap1002      30k  624B|redis-server 412M|report_proxy 0.1

0.13 0.14 0.14|2710M  407M 6067M  117G|   0  9.00 |  0   0  99   0   0   0|process_mon2024k 1986B|redis-server 412M|report_proxy 0.1

0.13 0.14 0.14|2715M  407M 6067M  117G|   0  28.0 |  0   1  99   0   0   0|redis-serve  38k 4339k|redis-server 412M|report_proxy 0.1

0.68 0.25 0.18|2723M  407M 6067M  117G|   0  5.00 |  1   1  98   0   0   0|crond        13M  180k|redis-server 412M|report_proxy 0.1

NetHogs 进程流量工具(进程带宽工具),监视每个进程的网络带宽(https://github.com/raboof/nethogs/releases

MultiTail 同时监控多个文档、类似tail

Monitorix 系统和网络监控

Arpwatch 以太网活动监控器

Suricata 网络安全监控

Nagios 网络/服务器监控

Collectl 一体化性能检测工具

mtr 网络连通性判断工具,集成了traceroute和ping

socat 多功能的网络工具(Socket CAT,netcat加强版)

netpipes socket操作

ab

wget

curl

tsung 压力测试工具

siege 压力测试和评测工具

nmon 监控Linux系统性能

psacct 监视用户活动

ncdu 基于ncurses库的磁盘使用分析器

slurm 实时网络流量监控

findmnt 查找已经被挂载的文件系统

saidar 系统数据监控和统计工具

ss 可以替代netstat的网络连接查看工具(socket statistics)

ccze 用不同颜色高亮日志协助管理员进行区分和查看分析

netstat 网络统计

ifconfig (ifup ifdown)

Linux磁盘相关命令

sfdisk -l

sfdisk -s

fdisk -l

dmesg |grep SCSI

dmesg |grep -i raid

df -h

cat /proc/scsi/scsi

hdparm /dev/sda

mount 加载一块硬盘

mkfs 创建文件系统

/etc/fstab 文件内容mount命令输出一致

lscpu 查看CPU

lspci 查看主板

lsscsi 查看SCSI卡

测速

hdparm -t /dev/sda

parted

parted是一个由GNU开发的功能强大的磁盘分区和分区大小调整工具。

cfdisk -Ps

cfdisk是一个磁盘分区的程序,具有互动式操作界面。参数-P表示显示分区表的内容,附加参数“s”会依照磁区的顺序显示相关信息。

查看软RAID

cat /proc/mdstat

相看所有的PCI设备

lspci -vvv

lspci -vvv -t

查看所有硬件信息

dmidecode 

查看网卡型号

lspci | grep -i ethernet

一条命令取机器IP地址,不同Linux稍有不同:

netstat -ie|awk /broadcast/'{print $2}'

netstat -ie|awk -F ' :+' /cast/'{print $4}'

netstat -ie|awk -F ' :+' /cast/'{print $3}'

查看CPU

mpstat -P ALL 1 

mpstat -I SUM 1

查看网卡

ethtool eth0

查看网卡统计

ethtool -S eth1

查看网卡RingBuffer大小

ethtool -g eth1

查看流量

sar -n DEV 1 # 流量信息

sar -n EDEV 1 # 错误信息

sar -u 2 5 # 每2秒报告CPU使用率,共显示5行(次)

sar -I 14 -o int14.file 2 10 每2秒报告14号中断,共显示10行(次),结果写入文件int14.file

sar -f /var/log/sa/sa16 显示内存和网络统计,结果写入文件/var/log/sa/sa16

sar -A 显示所有统计

中断相关

cat /proc/interrupts

查看网卡队列

grep eth1 /proc/interrupts |awk '{print $NF}'

查看中断亲和性(以中断74为例)

cat /proc/irq/74/smp_affinity

/proc/irq/ 该目录下存放的是以IRQ号命名的目录,如/proc/irq/40/表示中断号为40的相关信息

/proc/irq/irq_num/smp_affinity 该文件存放的是CPU位掩码(十六进制),修改该文件中的值可以改变CPU和某中断的亲和性

/proc/irq/irq_num/smp_affinity_list 该文件存放的是CPU列表(十进制),注意CPU核心个数用表示编号从0开始,如cpu0和cpu1等

清除系统缓存

echo 3 > /proc/sys/vm/drop_caches

测试请参见:https://cloud.tencent.com/developer/article/1183029

查看TCP数据:

cat /proc/net/tcp

查看UDP数据:

cat /proc/net/udp

相关命令:ss -l

查看socket缓冲区默认大小:

cat /proc/sys/net/core/rmem_default

查看socket缓冲区最大大小:

cat /proc/sys/net/core/rmem_max

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-09-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • dstat -l -m -r -c  --top-io --top-mem --top-cpu
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档