• 服务器管理小记


    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]"
  • 相关阅读:
    测试
    mysql数据库 select语句全集
    Markdown文本的书写格式详解--有道云笔记
    mysql数据忘记库密码
    最新版mysql基本命令操作
    Python从入门到放弃
    第二阶段冲刺
    周总结15
    找水王
    用户体验评价
  • 原文地址:https://www.cnblogs.com/cuishuai/p/7812090.html
Copyright © 2020-2023  润新知