linux 服务器运维常用命令

top----Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况

[work@c3-miui-auto-sup01 ~]$ top
top - 11:27:02 up 370 days, 17:35,  1 user,  load average: 0.05, 0.04, 0.00
Tasks: 529 total,   1 running, 528 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.1%us,  0.4%sy,  0.0%ni, 98.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  132043284k total, 128975960k used,  3067324k free,   963340k buffers
Swap: 12582904k total,        0k used, 12582904k free, 87457360k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                              
107810 work      20   0 14.1g 1.9g  13m S  6.0  1.5   1187:36 java                                                                  
189477 root      20   0 4275m 223m 3684 S  4.3  0.2   5541:37 falcon-agent                                                          
155537 work      20   0 18.5g 2.2g  13m S  3.6  1.8 207:42.77 java                                                                  
 85815 work      20   0 19.6g 2.0g  13m S  1.7  1.6 454:18.14 java                                                                  
 26581 work      20   0 19.2g 2.2g  14m S  1.3  1.7 532:27.91 java                                                                  
 63415 work      20   0 21.4g 3.0g  13m S  1.3  2.4 615:52.49 java                                                                  
 28025 work      20   0 18.5g 1.6g  13m S  1.0  1.3 717:34.58 java                                                                  
 34137 work      20   0 15404 1608  944 R  0.7  0.0   0:04.10 top                                                                   
 48687 work      20   0 18.4g 1.8g  14m S  0.7  1.4 230:23.72 java                                                                  
 61757 work      20   0 16.5g 1.8g  13m S  0.7  1.4 105:09.37 java                                                                  
102314 work      20   0 18.6g 1.6g  13m S  0.7  1.3  59:07.75 java                                                                  
151545 work      20   0 19.3g 1.8g  13m S  0.7  1.5  84:00.62 java                                                                  
     4 root      20   0     0    0    0 S  0.3  0.0   8:38.59 ksoftirqd/0                                                           
 21268 work      20   0 1558m  31m 1848 S  0.3  0.0   0:37.97 nginx                                                                 
107687 work      20   0 17.4g 4.4g  13m S  0.3  3.5   2600:24 java                                                                  
163390 root      20   0 3027m  66m 4228 S  0.3  0.1 405:18.16 ruby                                                                  
167025 work      20   0 18.4g 2.2g  13m S  0.3  1.8 175:40.35 java                                                                  
175898 work      20   0 11.8g 2.1g  13m S  0.3  1.7 254:10.49 java                                                                  
182831 work      20   0 9733m 783m  12m S  0.3  0.6 209:53.35 java                                                                  
     1 root      20   0 19228 1024  732 S  0.0  0.0  11:09.45 init                                                                  
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd                                                              
     3 root      RT   0     0    0    0 S  0.0  0.0   0:53.79 migration/0                                                           
     5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                                           
     6 root      RT   0     0    0    0 S  0.0  0.0   0:14.29 watchdog/0                                                            
     7 root      RT   0     0    0    0 S  0.0  0.0   1:13.59 migration/1                                                           
     8 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/1                                                           
     9 root      20   0     0    0    0 S  0.0  0.0   4:45.12 ksoftirqd/1                                                           
    10 root      RT   0     0    0    0 S  0.0  0.0   0:11.56 watchdog/1                                                            
    11 root      RT   0     0    0    0 S  0.0  0.0   2:13.09 migration/2                                                           
    12 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/2                                                           
    13 root      20   0     0    0    0 S  0.0  0.0   3:32.88 ksoftirqd/2                                                           
    14 root      RT   0     0    0    0 S  0.0  0.0   0:09.58 watchdog/2                                                            
    15 root      RT   0     0    0    0 S  0.0  0.0   2:44.25 migration/3                                                           
    16 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/3                                                           
    17 root      20   0     0    0    0 S  0.0  0.0   3:09.22 ksoftirqd/3                                                           
    18 root      RT   0     0    0    0 S  0.0  0.0   0:10.04 watchdog/3                                                            
    19 root      RT   0     0    0    0 S  0.0  0.0   0:37.30 migration/4                                                           
    20 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/4                                                           
    21 root      20   0     0    0    0 S  0.0  0.0   3:19.29 ksoftirqd/4                                                           
    22 root      RT   0     0    0    0 S  0.0  0.0   0:08.71 watchdog/4                                                            
    23 root      RT   0     0    0    0 S  0.0  0.0   0:40.20 migration/5                                                           
    24 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/5                                                           
    25 root      20   0     0    0    0 S  0.0  0.0   3:18.20 ksoftirqd/5                                                           
    26 root      RT   0     0    0    0 S  0.0  0.0   0:09.25 watchdog/5                                                            
    27 root      RT   0     0    0    0 S  0.0  0.0   0:35.46 migration/6                                                           
    28 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/6                                                           
    29 root      20   0     0    0    0 S  0.0  0.0   3:04.64 ksoftirqd/6 

-H 指定这个可以显示每个线程的情况

[work@c3-miui-auto-sup01 hsperfdata_work]$ top -H -p 107810
top - 17:50:30 up 370 days, 23:58,  4 users,  load average: 0.05, 0.02, 0.00
Tasks: 121 total,   0 running, 121 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.6%us,  0.2%sy,  0.0%ni, 99.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  132043284k total, 116931888k used, 15111396k free,   967880k buffers
Swap: 12582904k total,        0k used, 12582904k free, 76333568k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                              
107919 work      20   0 14.1g 1.9g  13m S  4.0  1.5  99:15.92 java                                                                  
107880 work      20   0 14.1g 1.9g  13m S  2.0  1.5  73:50.48 java                                                                  
107890 work      20   0 14.1g 1.9g  13m S  2.0  1.5  99:04.06 java                                                                  
107810 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.00 java                                                                  
107813 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:08.27 java                                                                  
107814 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.14 java                                                                  
107815 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.15 java                                                                  
107816 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.13 java                                                                  
107817 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.14 java                                                                  
107818 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.06 java                                                                  
107819 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.11 java                                                                  
107820 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.10 java                                                                  
107821 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.20 java                                                                  
107822 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.13 java                                                                  
107823 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.05 java                                                                  
107824 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.12 java                                                                  
107825 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.18 java                                                                  
107826 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.08 java                                                                  
107827 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.08 java                                                                  
107828 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.10 java                                                                  
107829 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.25 java                                                                  
107833 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.15 java                                                                  
107834 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:05.07 java                                                                  
107835 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.00 java                                                                  
107836 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.00 java                                                                  
107837 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.00 java                                                                  
107838 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.00 java                                                                  
107839 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.00 java                                                                  
107840 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:14.24 java                                                                  
107841 work      20   0 14.1g 1.9g  13m S  0.0  1.5   1:38.27 java                                                                  
107842 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.36 java                                                                  
107843 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.21 java                                                                  
107844 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.00 java                                                                  
107845 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:00.00 java                                                                  
107846 work      20   0 14.1g 1.9g  13m S  0.0  1.5   0:23.68 java

 

uptime----查看系统负载

[work@c3-miui-auto-sup01 ~]$ uptime
11:48:23 up 370 days, 17:56, 1 user, load average: 0.00, 0.04, 0.02

1、load average 代表了最近1分钟,5分钟,15分钟CPU的平均负载情况。CPU核数乘以0.7,即如果CPU总核数为4,当load average上15分钟的数值达到2.8时,系统需要处理。


free----显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer

-b  以Byte为单位显示内存使用情况
-k  以KB为单位显示内存使用情况
-m  以MB为单位显示内存使用情况
-g   以GB为单位显示内存使用情况
-o  不显示缓冲区调节列
-s<间隔秒数>  持续观察内存使用状况
-t  显示内存总和列
-V  显示版本信息
[work@c3-miui-auto-sup01 ~]$ free -g
             total       used       free     shared    buffers     cached
Mem:           125        110         15          0          0         71
-/+ buffers/cache:         37         88
Swap:           11          0         11

区别:

第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是2098428KB,已用内存是30841684KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。

 

iostat----用于输出CPU和磁盘I/O相关的统计信息

用法:iostat [ 选项 ] [ <时间间隔> [ <次数> ]]

-c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果

-d:单独输出Device结果,不包括cpu结果

-k/-m:输出结果以kB/mB为单位,而不是以扇区数为单位

-x:输出更详细的io设备统计信息

interval/count:每次输出间隔时间,count表示输出次数,不带count表示循环输出

[work@c3-miui-auto-sup01 ~]$ iostat -x -k -d 1 2
Linux 2.6.32-279.23.1.mi5.el6.x86_64 (c3-miui-auto-sup01.bj)    10/15/2018      _x86_64_        (24 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00    33.49    0.65    5.47    15.70   155.15    55.89     0.00    0.27   0.10   0.06
dm-0              0.00     0.00    0.01    2.69     0.13    10.78     8.08     0.00    0.28   0.03   0.01
dm-1              0.00     0.00    0.00    0.00     0.00     0.00     8.00     0.00    1.25   0.61   0.00
dm-2              0.00     0.00    0.64   36.04    15.57   144.14     8.71     0.03    0.69   0.01   0.05

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     9.00    1.00    5.00     8.00    56.00    21.33     0.01    0.83   0.83   0.50
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-2              0.00     0.00    0.00   14.00     0.00    56.00     8.00     0.00    0.00   0.00   0.00

rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并

wrqm/s: 每秒对该设备的写请求被合并次数

r/s: 每秒完成的读次数

w/s: 每秒完成的写次数

rkB/s: 每秒读数据量(kB为单位)

wkB/s: 每秒写数据量(kB为单位)

avgrq-sz:平均每次IO操作的数据量(扇区数为单位)

avgqu-sz: 平均等待处理的IO请求队列长度

await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)

svctm: 平均每次IO请求的处理时间(毫秒为单位)

%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率

1、avgqu-sz 表示磁盘IO队列长度,即IO等待个数。

2、await 表示每次IO请求等待时间,包括等待时间和处理时间

3、svctm 表示每次IO请求处理的时间

4、%util 表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态。

 

netstat----用于显示各种网络相关信息

-a (all)显示所有选项,netstat默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字

-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令

查看当前所有tcp端口

[work@c3-miui-auto-sup01 ~]$ netstat -ntlp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:30667               0.0.0.0:*                   LISTEN      61757/java          
tcp        0      0 0.0.0.0:18187               0.0.0.0:*                   LISTEN      85815/java          
tcp        0      0 0.0.0.0:18220               0.0.0.0:*                   LISTEN      102314/java         
tcp        0      0 0.0.0.0:18124               0.0.0.0:*                   LISTEN      151545/java         
tcp        0      0 127.0.0.1:7916              0.0.0.0:*                   LISTEN      80037/java          
tcp        0      0 0.0.0.0:1996                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:18221               0.0.0.0:*                   LISTEN      102314/java         
tcp        0      0 0.0.0.0:12301               0.0.0.0:*                   LISTEN      107810/java         
tcp        0      0 0.0.0.0:18125               0.0.0.0:*                   LISTEN      63415/java          
tcp        0      0 127.0.0.1:7917              0.0.0.0:*                   LISTEN      80037/java          
tcp        0      0 0.0.0.0:18222               0.0.0.0:*                   LISTEN      102314/java         
tcp        0      0 0.0.0.0:18126               0.0.0.0:*                   LISTEN      122844/java         
tcp        0      0 0.0.0.0:36526               0.0.0.0:*                   LISTEN      85815/java          

查看所有3306端口使用情况

[work@c3-miui-auto-sup01 ~]$ netstat -an | grep 8080
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:18080               0.0.0.0:*                   LISTEN 

 

df----列出文件系统的整体磁盘空间使用情况

df [选项] [文件名]
参数:
-a:--all,显示所有的文件系统,包括虚拟文件系统
-B:--block-size,指定单位大小。比如1k,1m等
-h:--human-readable,以人们易读的GB、MB、KB等格式显示
-H:--si,和-h参数一样,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。
-i:--inodes,不用硬盘容量,而是以inode的数量来显示
-k:以KB的容量显示各文件系统,相当于--block-size=1k
-m:以KB的容量显示各文件系统,相当于--block-size=1m
-l:--local,只显示本地文件系统
--no-sync:在统计使用信息之前不调用sync命令(默认)。
-sync:在统计使用信息之前调用sync命令
-P:--portability,使用POSIX格式显示
-t:--type=TYPE,只显示指定类型的文件系统
-T:--print-type,显示文件系统类型
-x:--exclude-type=TYPE,不显示指定类型的文件系统。
--help:显示帮助信息。
--version:显示版本信息。

[work@c3-miui-auto-sup01 ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       20G  7.1G   12G  38% /
tmpfs                  63G  4.0K   63G   1% /dev/shm
/dev/sda1             194M   50M  135M  27% /boot
/dev/mapper/vg_root-lv_home
                      2.2T  201G  1.9T  10% /home




[work@c3-miui-auto-sup01 ~]$ df /home -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_home
                      2.2T  201G  1.9T  10% /home

 

du----用于显示目录或文件的大小

-a或-all  显示目录中个别文件的大小。   

-b或-bytes  显示目录或文件大小时,以byte为单位。   

-c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 

-k或--kilobytes  以KB(1024bytes)为单位输出。

-m或--megabytes  以MB为单位输出。   

-s或--summarize  仅显示总计,只列出最后加总的值。

-h或--human-readable  以K,M,G为单位,提高信息的可读性。

-x或--one-file-xystem  以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 

-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。   

-S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。 

-X<文件>或--exclude-from=<文件>  在<文件>指定目录或文件。   

--exclude=<目录或文件>         略过指定的目录或文件。    

-D或--dereference-args   显示指定符号链接的源文件大小。   

-H或--si  与-h参数相同,但是K,M,G是以1000为换算单位。   

-l或--count-links   重复计算硬件链接的文件。  

[work@c3-miui-auto-sup01 log]$ du -h
180M    ./auto-cms-admin
2.9G    ./auto-jmxmon
12G     ./auto-cms-resource
220K    ./auto-idgenerator
4.7G    ./auto-comment-server
19M     ./auto-user-admin
19M     ./auto-mall-admin
815M    ./auto-user-web
2.3G    ./auto-api-promotion
2.8G    ./auto-user-server-backstage
13M     ./auto-car
1.4G    ./auto-api-community
165M    ./auto-user-server-front
31G     ./auto-api-web
29G     ./auto-analytics
1020M   ./auto-crawler
12M     ./auto-mall
87G     .
[work@c3-miui-auto-sup01 log]$ du -sh
87G 

du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已 
经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除 的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。

 

ps----命令用于显示当前进程 (process) 的状态

a 显示所有进程

-a 显示同一终端下的所有程序

-A 显示所有进程

c 显示进程的真实名称

-N 反向选择

-e 等于“-A”

e 显示环境变量

f 显示程序间的关系

-H 显示树状结构

r 显示当前终端的进程

T 显示当前终端的所有程序

u 指定用户的所有进程

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

-C<命令> 列出指定命令的状况

–lines<行数> 每页显示的行数

–width<字符数> 每页显示的字符数

–help 显示帮助信息

–version 显示版本显示

[work@c3-miui-auto-sup01 ~]$ ps -ef|grep java
work      26581      1  2 Sep27 ?        08:56:57 java -Dcom.sun.management.jmxremote.port=12101 -Djsse.enableSNIExtension=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.access.file=/usr/java/jdk1.8.0_25_1/jre/lib/management/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/usr/java/jdk1.8.0_25_1/jre/lib/management/jmxremote.password -server -Xmx4096M -Xms4096M -XX:MetaspaceSize=256M -XX:NewRatio=3 -XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=0 -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=80 -jar auto-cms-resource.jar
work      28025      1  1 Aug29 ?        12:00:05 java -Djsse.enableSNIExtension=false -server -Xmx4096M -Xms4096M -XX:MetaspaceSize=256M -Dcom.sun.management.jmxremote.port=8189 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.access.file=/usr/java/jdk1.8.0_25_1/jre/lib/management/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/usr/java/jdk1.8.0_25_1/jre/lib/management/jmxremote.password -XX:NewRatio=3 -XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=0 -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=80 -jar auto-mall-web.jar

 

ping----常用的网络命令,它通常用来测试与目标主机的连通性

[work@c3-miui-auto-sup01 ~]$ ping www.baidu.com
PING www.a.shifen.com (220.181.112.244) 56(84) bytes of data.
64 bytes from 220.181.112.244: icmp_seq=1 ttl=45 time=19.1 ms
64 bytes from 220.181.112.244: icmp_seq=2 ttl=45 time=19.0 ms
64 bytes from 220.181.112.244: icmp_seq=3 ttl=45 time=19.1 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2383ms
rtt min/avg/max/mdev = 19.097/19.118/19.133/0.113 ms

你可能感兴趣的:(Linux)