命令
mac上没有的命令,通过brew下载:
参考:https://www.jianshu.com/p/06fd53df5f1d,直接从第三步开始
1.set:(-e 与 -x ,一般写在代码逻辑之前,这两个组合一起用,可在 debug节省许多时间 )-x:在执行每一行时,把执行的内容输出来。它可以让你看到当前执行的情况,里面涉及的变量也会被替换成实际的值。-e:在执行出错时结束程序,就像其他语言中的“抛出异常”一样。-u :执行时使用到未定义过的变量,显示错误信息。2.括号:[ ]:必须加空格3.wget:wget -O output.tar.gz --no-check-certificate --header "IREPO-TOKEN:c61d183a-9524-45eb-88e9-197eb20755d1" "https://irepo.baidu-int.com/rest/prod/v3/baidu/gov/china-gov-app/nodes/3781094/files"-O:指定文件名--no-check-certificate:不要验证服务器的证书--header:在头部插入4.curl:-X:配置http的方法-u:服务器的用户和密码 |
1.uptime
#持续运行时间、负载。比如1分钟平均负载很高,而15分钟平均负载很低,说明服务器正在命令高负载情况,需要进一步排查 CPU 资源都消耗在了哪里。反之,如果15分钟平均负载很高,1分钟平均负载较低,则有可能是 CPU 资源紧张时刻已经过去:[work@localhost ~]$ uptime 10:53:27 up 26 days, 8:56, 3 users, load average: 0.00, 0.01, 0.05 |
2.dmesg|tail
display message,显示内核的相关信息的。dmesg是从内核环形缓冲区中获取数据的。当我们排除故障时,dmesg会鉴别硬件相关的error和warning,还能打印出守护进程相关的信息,帮助我们debug。[work@localhost ~]$ dmesg|tail[ 26.877324] tun: Universal TUN/TAP device driver, 1.6[ 26.877328] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>[ 26.878982] virbr0: port 1(virbr0-nic) entered blocking state[ 26.878986] virbr0: port 1(virbr0-nic) entered disabled state[ 26.879271] device virbr0-nic entered promiscuous mode[ 27.005473] virbr0: port 1(virbr0-nic) entered blocking state[ 27.005479] virbr0: port 1(virbr0-nic) entered listening state[ 27.005621] IPv6: ADDRCONF(NETDEV_UP): virbr0: link is not ready[ 27.089132] virbr0: port 1(virbr0-nic) entered disabled state[137910.883847] Ebtables v2.0 unregistered |
3.vmstat 1
1:1秒输出一次。r:等待在CPU资源的进程数。这个数据比平均负载更加能够体现CPU负载情况,数据中不包含等待IO的进程。如果这个数值大于机器 CPU 核数,那么机器的 CPU 资源已经饱和。free:系统可用内存数(以千字节为单位),如果剩余内存不足,也会导致系统性能问题。下文介绍到的 free 命令,可以更详细的了解系统内存的使用情况。si, so:交换区写入和读取的数量。如果这个数据不为0,说明系统已经在使用交换区(swap),机器物理内存已经不足。us, sy, id, wa, st:这些都代表了 CPU 时间的消耗,它们分别表示用户时间(user)、系统(内核)时间(sys)、空闲时间(idle)、IO 等待时间(wait)和被偷走的时间(stolen,一般被其他虚拟机消耗)。如果用户时间和系统时间相加非常大,CPU 出于忙于执行指令。如果 IO 等待时间很长,那么系统的瓶颈可能在磁盘 IO。[work@localhost ~]$ vmstat 1procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 61952352 3176 2946652 0 0 0 0 1 0 0 0 100 0 0 0 0 0 61952852 3176 2946668 0 0 0 0 447 377 0 0 100 0 0 0 0 0 61952820 3176 2946700 0 0 0 0 393 346 0 0 100 0 0 0 0 0 61951932 3176 2946708 0 0 0 0 1587 911 0 1 99 0 0 |
4.mpstat -P ALL 1
显示每个 CPU 的占用情况,如果有一个 CPU 占用率特别高,那么有可能是一个单线程应用程序引起的。[work@localhost ~]$ mpstat -P ALL 1Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 09/16/2019 _x86_64_ (12 CPU)12:30:19 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle12:30:20 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0012:30:20 PM 11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 |
5.pidstat 1
输出进程的CPU占用率,1秒1次。[work@localhost ~]$ pidstat 1Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 09/16/2019 _x86_64_ (12 CPU)12:35:20 PM UID PID %usr %system %guest %CPU CPU Command12:35:21 PM 1001 61558 0.95 0.95 0.00 1.90 3 pidstat |
6.iostat
查看机器磁盘IO。r/s, w/s, rkB/s, wkB/s:分别表示每秒读写次数和每秒读写数据量(千字节)。读写量过大会引起性能问题。await:IO操作的平均等待时间,单位毫秒。是应用程序在和磁盘交互时,需要消耗的时间,包括IO等待和实际操作的耗时。如果这个数值过大,可能是硬件设备遇到了瓶颈或者出现故障。avgqu-sz:向设备发出的请求平均数量。如果这个数值大于 1,可能是硬件设备已经饱和(部分前端硬件设备支持并行写入)。%util:设备利用率。这个数值表示设备的繁忙程度,经验值是如果超过60,可能会影响 IO 性能(可以参照 IO 操作平均等待时间)。如果到达 100%,说明硬件设备已经饱和。如果显示的是逻辑设备的数据,那么设备利用率不代表后端实际的硬件设备已经饱和。值得注意的是,即使 IO 性能不理想,也不一定意味这应用程序性能会不好,可以利用诸如预读取、写缓存等策略提升应用性能。[work@localhost ~]$ iostat -xz 1Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 09/16/2019 _x86_64_ (12 CPU)avg-cpu: %user %nice %system %iowait %steal %idle 0.03 0.00 0.06 0.00 0.01 99.90Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %utilxvda 0.00 0.01 0.01 0.10 0.19 0.79 18.04 0.00 2.24 9.50 1.64 0.57 0.01xvde 0.00 0.02 0.00 0.12 0.00 1.75 29.30 0.00 6.81 2.21 6.82 0.42 0.01dm-0 0.00 0.00 0.01 0.25 0.18 2.55 21.24 0.00 4.62 9.83 4.45 0.42 0.01dm-1 0.00 0.00 0.00 0.00 0.00 0.00 37.76 0.00 1.82 1.82 0.00 0.95 0.00 |
7.free
查看系统内存的使用情况,-m兆。最后两列分别表示用于IO缓存的内存数,和用于文件系统页缓存的内存数。第二行 -/+ buffers/cache,看上去缓存占用了大量内存空间。这是 Linux 系统的内存使用策略,尽可能的利用内存,如果应用程序需要内存,这部分内存会立即被回收并分配给应用程序。因此,这部分内存一般也被当成是可用内存。如果可用内存非常少,系统可能会动用交换区(如果配置了的话),这样会增加IO开销(可以在 iostat 命令中提现),降低系统性能。[work@localhost ~]$ free -m total used free shared buff/cache availableMem: 64243 863 60498 570 2881 62222Swap: 2047 0 2047 |
8.sar -n DEV 1
查看网卡的吞吐率。排查性能时,可通过网卡的吞吐量,判断网络设备是否已经饱和。[work@localhost ~]$ sar -n DEV 1Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 09/16/2019 _x86_64_ (12 CPU)12:56:20 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s12:56:21 PM eth0 1.00 1.00 0.08 0.10 0.00 0.00 0.0012:56:21 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.0012:56:21 PM virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.0012:56:21 PM virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 |
9.sar -n TCP,ETCP 1
查看 TCP 连接状态,其中包括:active/s:每秒本地发起的TCP连接数,即通过connect调用创建的TCP连接;passive/s:每秒远程发起的TCP连接数,即通过accept调用创建的TCP连接;retrans/s:每秒 TCP 重传数量;TCP连接数可以用来判断性能问题是否由于建立了过多的连接,进一步可以判断是主动发起的连接,还是被动接受的连接。TCP重传可能是因为网络环境恶劣,或者服务器压力过大导致丢包。[work@localhost ~]$ sar -n TCP,ETCP 1Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 09/16/2019 _x86_64_ (12 CPU)01:02:10 PM active/s passive/s iseg/s oseg/s01:02:11 PM 0.00 2.00 10.00 10.0001:02:10 PM atmptf/s estres/s retrans/s isegerr/s orsts/s01:02:11 PM 0.00 0.00 0.00 0.00 0.00 |
10.top
top包含了前面好几个命令的检查的内容。比如系统负载情况(uptime)、系统内存使用情况(free)、系统CPU使用情况(vmstat)等。因此通过这个命令,可以相对全面的查看系统负载的来源。[work@localhost ~]$ topTasks: 230 total, 1 running, 229 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.0 us, 1.5 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem : 65785500 total, 61949736 free, 884632 used, 2951132 buff/cacheKiB Swap: 2097148 total, 2097148 free, 0 used. 63715192 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 67111 work 20 0 157848 2272 1472 R 5.9 0.0 0:00.02 top 1 root 20 0 194228 7416 4064 S 0.0 0.0 2:06.12 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:01.68 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.11 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:00.21 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 5:21.09 rcu_sched 10 root rt 0 0 0 0 S 0.0 0.0 0:13.51 watchdog/0 11 root rt 0 0 0 0 S 0.0 0.0 0:10.06 watchdog/1 12 root rt 0 0 0 0 S 0.0 0.0 0:18.71 migration/1 13 root 20 0 0 0 0 S 0.0 0.0 0:00.21 ksoftirqd/1 15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H 16 root rt 0 0 0 0 S 0.0 0.0 0:09.57 watchdog/2 17 root rt 0 0 0 0 S 0.0 0.0 0:10.30 migration/2 18 root 20 0 0 0 0 S 0.0 0.0 0:00.24 ksoftirqd/2 20 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/2:0H 21 root rt 0 0 0 0 S 0.0 0.0 0:09.75 watchdog/3 22 root rt 0 0 0 0 S 0.0 0.0 0:00.98 migration/3 23 root 20 0 0 0 0 S 0.0 0.0 0:00.13 ksoftirqd/3 25 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/3:0H 26 root rt 0 0 0 0 S 0.0 0.0 0:09.50 watchdog/4 27 root rt 0 0 0 0 S 0.0 0.0 0:00.25 migration/4 28 root 20 0 0 0 0 S 0.0 0.0 0:00.35 ksoftirqd/4 30 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/4:0H 31 root rt 0 0 0 0 S 0.0 0.0 0:08.97 watchdog/5 32 root rt 0 0 0 0 S 0.0 0.0 0:00.21 migration/5 33 root 20 0 0 0 0 S 0.0 0.0 0:00.08 ksoftirqd/5 35 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/5:0H 36 root rt 0 0 0 0 S 0.0 0.0 0:10.16 watchdog/6 37 root rt 0 0 0 0 S 0.0 0.0 0:00.25 migration/6 38 root 20 0 0 0 0 S 0.0 0.0 0:07.82 ksoftirqd/6 40 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/6:0H 41 root rt 0 0 0 0 S 0.0 0.0 0:09.74 watchdog/7 42 root rt 0 0 0 0 S 0.0 0.0 0:18.20 migration/7 43 root 20 0 0 0 0 S 0.0 0.0 0:00.38 ksoftirqd/7 45 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/7:0H 46 root rt 0 0 0 0 S 0.0 0.0 0:09.00 watchdog/8 47 root rt 0 0 0 0 S 0.0 0.0 0:12.00 migration/8 48 root 20 0 0 0 0 S 0.0 0.0 0:00.33 ksoftirqd/8 50 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/8:0H 51 root rt 0 0 0 0 S 0.0 0.0 0:09.13 watchdog/9 52 root rt 0 0 0 0 S 0.0 0.0 0:01.21 migration/9 53 root 20 0 0 0 0 S 0.0 0.0 0:00.14 ksoftirqd/9 55 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/9:0H 56 root rt 0 0 0 0 S 0.0 0.0 0:08.97 watchdog/10 57 root rt 0 0 0 0 S 0.0 0.0 0:00.26 migration/10 58 root 20 0 0 0 0 S 0.0 0.0 0:00.10 ksoftirqd/10 60 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/10:0H 61 root rt 0 0 0 0 S 0.0 0.0 0:08.59 watchdog/11 |
dig
查询DNS包括NS记录,A记录,MX记录等相关信息的工具。
参考:https://www.imooc.com/article/26971?block_id=tuijian_wz

A记录:域名指向IP
CNAME:将域名指向另一个域名,再由另一个域名提供 ip 地址
MX:设置邮箱
NS:域名服务器记录,把子域名交给其他 DNS 服务器解析
ionice
命令功能:
ionice – 获取或设置程序的IO调度与优先级。
命令格式:
ionice [[-c class] [-n classdata] [-t]] -p PID [PID]…
ionice [-c class] [-n classdata] [-t] COMMAND [ARG]…
IO调度策略:
ionice将磁盘IO调度分为三类:
ilde:空闲磁盘调度,该调度策略是在当前系统没有其他进程需要进行磁盘IO时,才能进行磁盘;因此该策略对当前系统的影响基本为0;当然,该调度策略不能带有任何优先级参数;目前,普通用户是可以使用该调度策略(自从内核2.6.25开始)。
Best effort:是缺省的磁盘IO调度策略;(1)该调度策略可以指定优先级参数(范围是0~7,数值越小,优先级越高);(2)针对处于同一优先级的程序将采round-robin方式;(3)对于best effort调度策略,8个优先级等级可以说明在给定的一个调度窗口中时间片的大小。(4)目前,普调用户(非root用户)是可以使用该调度策略。(5)在内核2.6.26之前,没有设置IO优先级的进程会使用“none”作为调度策略,但是这种策略使得进程看起来像是采用了best effort调度策略,因为其优先级是通过关于cpu nice有关的公式计算得到的:io_priority = (cpu_nice + 20) /5。(6)在内核2.6.26之后,如果当前系统使用的是CFQ调度器,那么如果进程没有设置IO优先级级别,将采用与内核2.6.26之前版本同样的方式,推到出io优先级级别。
Real time:实时调度策略,如果设置了该磁盘IO调度策略,则立即访问磁盘,不管系统中其他进程是否有IO。因此使用实时调度策略,需要注意的是,该访问策略可能会使得其他进程处于等待状态。
参数说明:
-c class :class表示调度策略,其中0 for none, 1 for real time, 2 for best-effort, 3 for idle。
-n classdata:classdata表示IO优先级级别,对于best effort和real time,classdata可以设置为0~7。
-p pid:指定要查看或设置的进程号或者线程号,如果没有指定pid参数,ionice will run the listed program with the given parameters。
-t :忽视设置优先级时产生的错误。
COMMAND:表示命令名

浙公网安备 33010602011771号