服务器管理小记

1、强制某些已经登录的用户下线

1)查看已经登录的用户详情

# w

 23:51:00 up  5:51,  5 users,  load average: 0.75, 0.51, 0.29
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    spark            18:00    4:45m  7:19   0.77s -bash
root     pts/1    spark            18:06    3:27m 29:39   0.04s vim hdfs11.sh
root     pts/2    spark            18:12    2:02m 10:40   0.71s -bash
root     pts/3    spark            20:28    3:10m  0.48s  0.48s -bash
root     pts/4    spark            23:50    3.00s  0.03s  0.00s w

登录信息的含义:

USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。

TTY:用户登陆所用的终端。

FROM:显示用户在何处登陆系统。

LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。

IDLE:用户空闲时间,从用户上一次任务结束后,开会记时。

JCPU:一终端代号来区分,表示在摸段时间内,所有与该终端相关的进程任务所耗费的CPU时间。

PCPU:指WHAT域的任务执行后耗费的CPU时间。

WHAT:表示当前执行的任务。

2)强制下线

pkill -kill -t  TTY

如想提出pts/2

# pkill -kill -t  pts/2

 

2、发现服务器的swap占满了几乎,响应很慢。可以暴力解除占用(相关服务可能会有影响,造成部分数据丢失等,!!慎用):

   #swapoff -a && swapon  -a

 

3、突然发现服务器出现卡顿,敲命令后没有输出,问题排查:

1)首先检查内存:

#free -m

             total        used        free      shared  buff/cache   available
Mem:          32012       12241        3946           5       15824       19416
Swap:           511          42         469

看一下free、available的值,还有就是swap是否占用很大。如上所示是正常的状态。

 

2)检查cpu:

#top

#mpstate  1   5

10:11:52 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
10:11:53 AM  all    0.31    0.00    0.19    0.00    0.00    0.06    0.00    0.00    0.00   99.44
10:11:54 AM  all    0.25    0.00    0.13    0.00    0.00    0.00    0.00    0.00    0.00   99.62
10:11:55 AM  all    2.46    0.00    0.38    0.00    0.00    0.13    0.00    0.00    0.00   97.04
10:11:56 AM  all    0.95    0.00    0.38    0.06    0.00    0.00    0.06    0.00    0.00   98.55
10:11:57 AM  all    0.25    0.00    0.19    0.00    0.00    0.06    0.00    0.00    0.00   99.50
Average:     all    0.84    0.00    0.25    0.01    0.00    0.05    0.01    0.00    0.00   98.83

1 ,是指输出的时间间隔,5共输出5次。可以设置为10.

主要观察%usr、%iowait、%idle,%user表示用户执行操作占用系统的cpu时间,%iowait这个值只能作为参考,具体要看cpu、iotp,%idle是空闲cpu时间

3)检查磁盘空间

#df -h

4)检查磁盘的io

#iotop  -o

Total DISK READ :      28.30 K/s | Total DISK WRITE :     166.26 K/s
Actual DISK READ:      28.30 K/s | Actual DISK WRITE:      88.44 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                 
 6818 be/4 root        0.00 B/s   10.61 K/s  0.00 %  0.18 % java -Dproc_namenode ~rver.namenode.NameNode
 6826 be/4 root        0.00 B/s   10.61 K/s  0.00 %  0.11 % java -Dproc_namenode ~rver.namenode.NameNode
 6821 be/4 root        0.00 B/s   10.61 K/s  0.00 %  0.10 % java -Dproc_namenode ~rver.namenode.NameNode
 6820 be/4 root        0.00 B/s    7.07 K/s  0.00 %  0.07 % java -Dproc_namenode ~rver.namenode.NameNode
 6827 be/4 root        0.00 B/s   10.61 K/s  0.00 %  0.07 % java -Dproc_namenode ~rver.namenode.NameNode
 6819 be/4 root        0.00 B/s    7.07 K/s  0.00 %  0.07 % java -Dproc_namenode ~rver.namenode.NameNode
 6823 be/4 root        0.00 B/s    7.07 K/s  0.00 %  0.06 % java -Dproc_namenode ~rver.namenode.NameNode
 6824 be/4 root        0.00 B/s    3.54 K/s  0.00 %  0.05 % java -Dproc_namenode ~rver.namenode.NameNode
 6822 be/4 root        0.00 B/s    7.07 K/s  0.00 %  0.03 % java -Dproc_namenode ~rver.namenode.NameNode
 6825 be/4 root        0.00 B/s    3.54 K/s  0.00 %  0.03 % java -Dproc_namenode ~rver.namenode.NameNode
  483 be/4 root       28.30 K/s    0.00 B/s  0.00 %  0.02 % systemd-journald
  639 be/3 root        0.00 B/s    3.54 K/s  0.00 %  0.00 % auditd -n
  672 be/4 root        0.00 B/s    7.07 K/s  0.00 %  0.00 % rsyslogd -n [rs:main Q:Reg]
 9235 be/4 root        0.00 B/s   10.61 K/s  0.00 %  0.00 % java -Xmx1G -Xms1G -s~nfig/server.propertie

这是一个动态的监控,iotop  -o,-o选项查看比较高的磁盘读写程序,具体参数可以使用iotop --help查看。如果没有这个命令,可以yum  -y  install  iotop

5)检查inode

# df -h -i

Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/vda1         20M  109K   20M    1% /
devtmpfs         4.0M   392  4.0M    1% /dev
tmpfs            4.0M     1  4.0M    1% /dev/shm
tmpfs            4.0M   474  4.0M    1% /run
tmpfs            4.0M    13  4.0M    1% /sys/fs/cgroup
/dev/vdb         710M  2.1M  708M    1% /data
tmpfs            4.0M     1  4.0M    1% /run/user/0
tmpfs            4.0M     1  4.0M    1% /run/user/1000

查看文件或目录的inode:

#stat  文件或目录名

# ls  -i  文件名或目录名

查看目录的inode占用情况, 可以通过查找那个目录下的文件最多来确定,还可以对当前目录的inode进行排序

1)for i in /data/*; do echo $i; find $i | wc -l; done 

2)ls -i /data/ | sort -n 

4、查看某个文件被那个程序占用

#lsof  目录或文件名

或使用fuser:

#fuser  -v  文件

 

5、释放系统的buffer和cache

》只清理PageCache

sync; echo 1 > /proc/sys/vm/drop_caches

》清理dentries和inodes

sync; echo 2 > /proc/sys/vm/drop_caches

》清理PageCache、dentties、inodes

sync; echo 3 > /proc/sys/vm/drop_caches

sync命令能释放掉系统的buffer。不建议直接使用第三条命令,除非清楚的知道清理后的影响。

 

6、关于磁盘的一点小记

一般添加磁都会使用fdisk进行操作,默认使用的是MBR分表,该分区表最大支持识别2T硬盘空间,最多支持4个主分区。除了最新的系统一般系统只支持在MBR分区引导,MBR分区位于第一扇区的前64字节。那么超过2T的磁盘

要怎么处理呢?使用GPT分区表进行格式化,GPT支持多主分区,磁盘没有2T限制,但是只有最新的一些系统支持EFI、GPT的引导,否则只能将其作为数据盘使用。当然如果只是作为数据盘处理就不存在上述的问题。

fdis就不过多解释了,主要说一下磁盘超过2T处理:

使用parted

 

7、找出僵尸进程

ps -A -o stat,ppid,pid,cmd |grep -e "^[Zz]"

 

posted @ 2017-11-09 23:54  诗码者  阅读(278)  评论(0编辑  收藏  举报