zoukankan      html  css  js  c++  java
  • 服务器管理小记

    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]"
  • 相关阅读:
    7月的尾巴,你是XXX
    戏说Android view 工作流程《下》
    “燕子”
    Android开机动画bootanimation.zip
    戏说Android view 工作流程《上》
    ViewController里已连接的IBOutlet为什么会是nil
    My first App "Encrypt Wheel" is Ready to Download!
    iOS开发中角色Role所产生的悲剧(未完)
    UIScrollView实现不全屏分页的小技巧
    Apple misunderstood my app,now my app status changed to “In Review”
  • 原文地址:https://www.cnblogs.com/cuishuai/p/7812090.html
Copyright © 2011-2022 走看看