系统运维(shell)

先来一些基础操作:

查看内存使用情况:(注意:1. 真实可用内存=free + cached  2.Swap的使用量如果较大,将严重影响应用的性能)

[@yd-80-133 ~] # free -m
              total       used       free     shared    buffers     cached
Mem:         96636      96400        235          0        522      75056
-/+ buffers /cache :      20821      75814
Swap:         8189         49       8139

查看磁盘使用情况:(如果你部署应用的磁盘使用率100%,你的应用就会变得不可用)

[@yd-81-74 ~] # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             3.9G  977M  2.8G  26% /
/dev/sda6             1.4T  194G  1.1T  16% /opt
/dev/sda3             3.9G  2.4G  1.3G  66% /var
/dev/sda5             4.9G  3.0G  1.7G  64% /usr
tmpfs                  12G   38M   12G   1% /dev/shm
10.13.81.44: /data/scribelog
                        21T  7.3T   13T  37% /opt/scribelog

查看系统概况:(top命令,可以看到很多信息。shift+p按cpu倒序,shift+m按内存倒序,1查看每个cpu繁忙程度)

top - 16:38:58 up 1019 days,  1:53, 28 users ,  load average: 0.77, 0.53, 0.56
Tasks: 325 total,   1 running, 324 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.7%us,  0.3%sy,  0.0%ni, 98.6% id ,  0.4%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  24659996k total, 22502624k used,  2157372k free ,   118628k buffers
Swap:  4192956k total,    13344k used,  4179612k free ,   324068k cached
   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                       
  4033 root      18   0 1996m 975m  13m S 159.0  4.1   6:40.52 java                                                                                                         
12336 root      18   0 2020m 1.2g  10m S  9.8  5.3   2860:34 java                                                                                                          
  3484 root      34  19     0    0    0 S  2.0  0.0  16159:29 kipmi0                                                                                                        
  7350 root      15   0 12868 1192  740 R  2.0  0.0   0:00.01 top                                                                                                           
29636 smc       21   0 1092m 579m  14m S  2.0  2.4   1:20.44 java                                                                                                          
30469 smc       21   0 1075m 708m  14m S  2.0  2.9   5:34.31 java

查看一个进程有多少线程:

[@yd-81-211 ~]$ ps -eLf | grep 24941 | wc -l
583

查看端口被哪个进程占用:(pid显示的就是那个进程)

[@yd-81-74 ~] # lsof -i tcp:8080
COMMAND   PID USER   FD   TYPE   DEVICE SIZE NODE NAME
java    30469  smc  239u  IPv4 64471973       TCP 10.13.81.74:webcache (LISTEN)
这个命令还可以查看文件被哪个进程占用
[@yd-81-130 nginx] # lsof | grep /data/log/scribelog
bash       4171    smc  cwd       DIR               0,23     16384                17797 /data/log/scribelog/user (10.13.81.44: /data/scribelog/ )
cat        4172    smc  cwd       DIR               0,23     16384                17797 /data/log/scribelog/user (10.13.81.44: /data/scribelog/ )

查看端口是否在监听:(最后一列显示哪个进程在监听这个端口)

[@yd-81-74 ~] # netstat -nalp | grep 8080
tcp        0      0 10.13.81.74:8080            0.0.0.0:*                   LISTEN      30469 /java

比较两个文件是否一样:

md5sum targetfile.txt > targetfile.md5
把targetfile.md5和targetfile.txt放到同一目录下进行校验:
md5sum -c targetfile.md5

jar包操作:

jar - tvf xxxx.jar  查看类文件
jar - xvf xxxx.jar  解压到当前目录

使用awk(日志处理):


你可能感兴趣的:(系统运维(shell))