zoukankan      html  css  js  c++  java
  • 系统管理

    一、进程管理

    1. 进程简介

    1.1 什么进程

      进程是正在被执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。程序是人使用计算机语言编写的可以实现特定目标或解决特定问题的代码集合。

      程序是人使用计算机语言编写的,可以实现一定的功能,并且可以执行的代码集合。

      进程是正在执行中的程序。程序被执行时,执行人的权限和属性、以及程序的代码都会被加载,如内存,操作系统给这个进程分配一个ID号,我们称为PID(进程ID)。

    1.2 进程管理的作用

      判断服务器健康状态

      查看系统中所有的进程:查看系统中所有正在运行的进程,通过这些进程可以判断系统中运行了哪些服务,是否有非法服务运行。

      杀死进程

    2. 进程的查看

    2.1 ps命令

      ps命令是用来静态显示系统中进程的命令。部分命令的选项不能加"-",比如"ps aux",其中"aux"是选项,但是这个选项不能加入"-"。这是因为ps命令的部分选项需要遵守BSD操作系统的格式。所有ps命令的常用选项的组合是固定的。

    [root@centos2 ~]# ps aux
    #查看系统中所有的进程
    [root@centos2 ~]# ps -el
    #查看系统中所有进程,使用Linux标准命令格式
    
        a    显示一个终端的所有进程,除了会话引线
        u    显示进程的归属用户及内存的使用情况
        x    显示没有控制终端的进程
        e   长格式显示。显示更加详细的信息 
        l    显示所有进程
    [root@centos2 ~]# ps aux
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          1  1.0  0.2 191280  4184 ?        Ss   00:02   0:07 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    root          2  0.0  0.0      0     0 ?        S    00:02   0:00 [kthreadd]

    USER:该进程是由哪个用户产生的

    PID:进程的ID号

    %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源

    %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源

    VSZ:该进程占用虚拟内存的大小,单位KB

    RSS:该进程占用实际物理内存的大小,单位KB

    TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端(可以通过alt+F1-F7键切换不同的终端),tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端,一般是远程连接的终端,第一个远程连接占用的是pts/0终端,第二个远程连接占用pts/1,依次增长

    STAT:进程状态。常见的状态有:

      D:不可被唤醒的睡眠状态,通常用于I/O情况

      R:该进程正在运行

      S:该进程在睡眠状态,可被唤醒

      T:停止状态,可能是在后台暂停或进程在除错状态

      W:内存交互状态(从2.6内核开始无效)

      X:死掉的进程(应该不会出现)

      Z:僵尸进程。进程已经终止,但是部分程序还在内存当中

      <:高优先级(以下状态在BSD格式当中出现)

      N:低优先级

      L:被锁入内存

      s:包含子进程

      l:多线程(小写L)

      +:位于后台

    START:该进程的启动时间

    TIME:该进程占用CPU的运算时间,注意不是系统时间

    COMMAND:产生此进程的命令名

    [root@centos2 ~]# ps -le
    F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0      1      0  0  80   0 - 47820 ep_pol ?        00:00:07 systemd
    1 S     0      2      0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd

    F:进程标志,说明进程的权限,常见的标志有:

      1:进程可以复制,但是不能执行

      4:进程使用超级用户权限

    S:进程状态。具体的状态和“ps aux”命令中STAT状态一致

    UID:进程是哪个UID用户调用运行的

    PID:进程的ID号

    PPID:父进程的ID号

    C:该进程的CPU使用率,单位是百分比

    PRI:进程的优先级,数值越小该进程优先级越高,越快被CPU执行

    NI:进程的优先级,也是数值越小越早被执行

    ADDR:该进程在内存的哪个位置

    SZ:该进程占用多大内存

    WCHAN:该进程是否运行。“-”代表正在运行

    TTY:该进程由哪个终端产生

    TIME:该进程占用CPU的运算时间,注意不是系统时间

    CMD:产生此进程的命令名

    2.2 top命令

    top [选项]
    
        -d 秒数        指定top命令每隔几秒更新。默认3秒
        -b               使用批处理模式输出。一般和"-n"选项合用,用于把top命令重定向到文件中
        -n 次数        指定top命令执行的次数。一般和"-b"选项合用
        -p               指定PID。只查看某个PID的进程
        -s               使top在安全模式运行,避免在交互模式中出现错误
        -u 用户名     只监听某个用户的进程
    
    在top命令的交互模式当中可以执行的命令:
        ?或h             显示交互模式的帮助
        P                以CPU使用率排序,默认
        M                以内存的使用率排序
        N                以PID排序
        T                按照CPU的累积运算时间排序,也就是用TIME+项排序
        k                按照PID号,给予某个进程一个信号。一般用于终止某个进程,信号9 是强制终止的信号
        r                按照PID号,给某个进程重设优先级(Nice)值
        q                退出top
    top - 00:54:21 up 52 min,  1 user,  load average: 0.00, 0.01, 0.05
    Tasks: 172 total,   1 running, 171 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.2 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  1863104 total,  1019364 free,   436312 used,   407428 buff/cache
    KiB Swap:  2097148 total,  2097148 free,        0 used.  1264596 avail Mem 
    
       PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                 
       790 root      20   0  324680   6924   5404 S   0.7  0.4   0:12.76 vmtoolsd                                                                                
     10176 root      20   0  162020   2316   1592 R   0.7  0.1   0:07.93 top                                                                                     
       800 root      20   0   21680   1296    988 S   0.3  0.1   0:01.71 irqbalance                                                                              
     10410 root      20   0       0      0      0 S   0.3  0.0   0:00.31 kworker/0:1                                                                             

    top命令的输出内容是动态的,默认每3秒刷新一次。命令的输出主要分为两大部分;第一部分是前五行,显示的是整个系统的资源使用状况,我们就是通过这些输出判断服务器的健康状态;第二部分是从第六行开始,显示的是系统中进程的信息。

    第一部分的作用:

    第一行信息为任务队列信息

    内容 说明
    00:54:21
    系统当前时间
    up 52 min
    系统的运行时间,本机已运行52分钟
    1 user
    当前登录了一个用户
    load average: 0.00, 0.01, 0.05
    系统在之前1分钟,5分钟,15分钟的平均负载。如果CPU是单核,则这个数超过1,就是高负载。如果CPU是四核,则这个数超过4,就是高负载。(这个平均负载完全是个人经验来进行判断的,一般认为不应该超过服务器CPU的核数。)

    第二行为进程信息

    内容 说明
    Tasks: 172 total
    系统中的进程总数
    1 running
    正在运行的进程数
    171 sleeping
    睡眠的进程
    0 stopped
    正在停止的进程
    0 zombie
    僵尸进程。如果不是0,需要手工检查僵尸进程

    第三列为CPU信息

    内容 说明
    %Cpu(s):  0.2 us
     用户模式占用的CPU百分比
     
    0.2 sy
     系统模式占用的CPU百分比
     
    0.0 ni
     改变过优先级的用户进程占用的CPU百分比
     
    99.7 id
     空闲CPU的CPU百分比
     
    0.0 wa
     等待输入/输出的进程的占用CPU百分比
     
    0.0 hi
     硬中断请求服务占用的CPU百分比
     
    0.0 si
     软中断请求服务占用的CPU百分比
     
    0.0 st
     st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比

    第四列为物理内存信息

    内容 说明
    Mem:1863104 total
    物理内存的总量,单位KB 
    1019364 free
    空闲的物理内存数量
    436312 used
    已经使用的物理内存数量
    407428 buff/cache
    作为缓冲的内存数量

    第五列为交换分区(swap)信息

    内容 说明
    Swap:  2097148 total
    交换分区(虚拟内存)的总大小
    2097148 free
    空闲交换分区的大小
    0 used
    已经使用的交互分区的大小
    1264596 avail Mem
    作为缓存的交互分区的大小

    top命令的第二部分输出,主要是系统进程信息。这部分和ps命令的输出比较类似,只是在终端中执行top命令不能看到所有的进程,只能看到占比靠前的进程。

      PID:进 程ID

      USER:该进程所属的用户

      PR:优先级,数值越小优先级越高

      NI:优先级,数值越小优先级越高

      VIRT:该进程使用的虚拟内存的大小,单位KB

      RES:该进程使用的物理内存的大小,单位KB

      SHR:共享内存大小,单位KB

      S:进程状态

      %CPU:该进程占用CPU的百分比

      %MEM:该进程占用内存的百分比

      TIME+:该进程总共占用的CPU时间

      COMMAND:进程的命令名

    例:

    [root@centos2 ~]# top -p 10857
    #只查看PID为10857的apache进程
    top - 01:30:14 up 1:28, 1 user, load average: 0.07, 0.09, 0.07 Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1863104 total, 778008 free, 454860 used, 630236 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 1243096 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10857 root 20 0 230420 5180 3288 S 0.0 0.3 0:00.10 httpd

    在top命令的交互界面中按“q”键会退出top命令。也可以按“?”或“h”得到top命令交互界面的帮助信息。也可以按“k”键终止某个进程

    [root@centos2 ~]# top -p 10941
    top - 01:32:38 up  1:30,  1 user,  load average: 0.01, 0.05, 0.06
    Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.8 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  1863104 total,   777936 free,   455016 used,   630152 buff/cache
    KiB Swap:  2097148 total,  2097148 free,        0 used.  1243000 avail Mem 
    PID to signal/kill [default pid = 10941]      <- 按“k”键,会提示输入要杀死进程的PID
       PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                 
     10941 root      20   0  230420   5172   3284 S   0.0  0.3   0:00.07 httpd        

    在操作终端执行top命令,并不能看到系统中所有的进程,默认看到的只是CPU占比靠前的进程。如果我们想要看到所有的进程可以把top命令的结果重定向到文件当中即可。不过top命令是持续运行的,这时就需要“-b”和“-n”选项了

    [root@centos2 ~]# top -b -n 1 > /root/top.log

     2.3 pstree命令

    ps [选项]
        
        -p    显示进程的PID
        -u    显示进程的所属用户

    3. 进程的管理

      系统中可以识别的信号较多,我们可以使用命令"kill -l"或"man 7 signal"来查询。

    [root@centos2 ~]# kill -l
     1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
     6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
    11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
    16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
    21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
    26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
    31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
    38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
    43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
    48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
    53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
    58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
    63) SIGRTMAX-1    64) SIGRTMAX    
    信号代号 信号名称 说明
    1 SIGHUP 该信号让进程立即关闭,然后重新读取配置文件之后重启
    2 SIGINT 程序终止信号,用于终止前台进程。相当于输出ctrl+c快捷键
    8 SIGFPE 在发生致命的算术运算错误时发出. 不仅包括浮点运算错误, 还包括溢出及除数为0等其它所有的算术的错误
    9 SIGKILL 用来立即结束程序的运行. 本信号不能被阻塞、处理和忽略。一般用于强制终止进程
    14 SIGALRM 时钟定时信号, 计算的是实际的时间或时钟时间. alarm函数使用该信号
    15 SIGTERM 正常结束进程的信号,kill命令的默认信号。有时如果进程已经发生问题,这个信号是无法正常终止进程的,我们才会尝试SIGKILL信号,也就是信号9
    18 SIGCONT 该信号可以让暂停的进程恢复执行,本信号不能被阻断
    19 SIGSTOP 该信号可以暂停前台进程,相当于输入ctrl+z快捷键。本信号不能被阻断

    3.1 kill命令

    kill [选项] PID
    [root@centos2 ~]# ps -ef |grep "httpd"
    root       2329      1  4 17:30 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache     2338   2329  0 17:30 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache     2339   2329  0 17:30 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache     2340   2329  0 17:30 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache     2341   2329  0 17:30 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache     2342   2329  0 17:30 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    root       2346   1828  0 17:30 pts/0    00:00:00 grep --color=auto httpd
    [root@centos2 ~]# kill -1 2329
    #使用“-1”信号,让httpd的主进程重启
    [root@centos2 ~]# vim test.sh
    #编辑文件,不退出
    
    [root@centos2 ~]# ps aux |grep "vim"
    root       2424  1.4  0.2 149756  5396 pts/0    S+   17:33   0:00 vim test.sh
    root       2436  0.0  0.0 112728   972 pts/1    R+   17:34   0:00 grep --color=auto vim
    [root@centos2 ~]# ps aux |grep "vim" | grep -v "grep"
    root       2424  1.0  0.2 149756  5396 pts/0    S+   17:33   0:00 vim test.sh
    
    #换另外一个终端,查看下这个进程的状态。进程状态S(休眠)和+(位于后台),因为是在另外一个终端运行的命令
    
    [root@centos2 ~]# kill -19 2424
    [root@centos2 ~]# ps aux |grep "vim" | grep -v "grep"
    root       2424  0.2  0.2 149756  5396 pts/0    T    17:33   0:00 vim test.sh
    
    
    #2424的状态变成了T(暂停)。切回原来的终端,vim命令已暂停。
    #不过2424进程就会卡在后台,如果想要恢复可以使用“kill -9 2424”强制终止进程
    
    [root@centos2 ~]# vim test.sh
    
    
    [1]+  已停止               vim test.sh                                                                                                                        
    [root@centos2 ~]#                           

    3.2 killall命令

    killall [选项] [信号] 进程名
        
        -i    交互式,询问是否要杀死某个进程
        -I    忽略进程名的大小写
    [root@centos2 ~]# ps aux | grep "sshd"
    root       1250  0.0  0.2 112920  4320 ?        Ss   17:12   0:00 /usr/sbin/sshd -D
    root       1812  0.0  0.3 163612  6124 ?        Ss   17:12   0:00 sshd: root@pts/0
    root       2380  0.0  0.3 163616  6128 ?        Ss   17:33   0:00 sshd: root@pts/1
    root       2524  0.0  0.0 112732   972 pts/0    S+   17:42   0:00 grep --color=auto sshd
    [root@centos2 ~]# ps aux | grep "sshd" | grep -v "grep"
    root       1250  0.0  0.2 112920  4320 ?        Ss   17:12   0:00 /usr/sbin/sshd -D
    root       1812  0.0  0.3 163612  6124 ?        Ss   17:12   0:00 sshd: root@pts/0
    root       2380  0.0  0.3 163616  6128 ?        Ss   17:33   0:00 sshd: root@pts/1
    [root@centos2 ~]# killall -i sshd
    杀死 sshd(1250) ? (y/N) n
    杀死 sshd(1812) ? (y/N) n
    杀死 sshd(2380) ? (y/N) y

    3.3 pkill命令

    pkill命令和killall命令非常类似,也是按照进程名来杀死进程的。

    pkill [选项] [信号] 进程名
    
        -t 终端号    按照终端号踢出用户
    [root@centos2 ~]# pkill -9 -t pts/1

     二、工作管理

    1. 工作管理简介

      注意事项:

        前台是指当前可以操控和执行命令的这个操作环境,后台是指工作可以自动运行,但是不能直接用ctrl+c来终止它,只能使用fg/bg来调用工作;

        当前的登录终端,只能管理当前终端的工作,而不能管理其他登录终端的工作。

        放入后台的命令必须可以持续运行一段时间,这样我们才能捕捉和操作这个工作。如果把ls命令放入后台执行,他很快就会执行完成,我们很难操作它。

        放入后台执行的命令不能和前台用户有交互或需要前台输入,否则放入后台只能暂停,而不能执行。比如vi命令放入后台只能暂停,而不能执行,因为vi需要前台输入信息。top命令也不能放入后台执行,而只能放入后台暂停,因为top命令需要和前台有交互

    2. 如何把命令放入后台

    2.1 第一种方法"命令 &",把命令放入后台执行

      第一种把命令放入后台的方法是在命令的后面加上"空格&",这种方法放入后台的命令,在后台是执行状态。注意,放入后台执行的命令不能与前台有交互,否则这个命令是不能在后台执行的。

    [root@centos2 ~]# find / -name install.log &
    [1] 4060
    #[工作号] 进程号
    #find命令放入后台执行,每个后台命令会分配一个工作号,命令既然可以执行,就会有进程产生,所以也会有进程号
    [root@centos2 ~]# ps -ef |grep find
    root       4085   4006  0 19:16 pts/1    00:00:00 grep --color=auto find
    [1]+  完成                  find / -name install.log

      第二种方法是在命令执行过程中按Ctrl+z快捷键,命令在后台是暂停状态

      使用这种方法放入后台的命令,就算是不和前台有交互,能在后台执行的命令,也是暂停状态,ctrl+z快捷键就是暂停的快捷键

    [root@centos2 ~]# top
    #执行过程中按下Ctrl+z快捷键
      
    [1]+  已停止               top
    
    #示命令被放入后台,工作号是1,状态是暂停。而且虽然top命令没有结束,也能取得控制台权限。

    3. 后台管理命令

    3.1 查看后台的工作

    jobs [-l]
    
        -l    显示工作的PID

    3.2 将后台暂停的工作恢复到前台执行

    fg %工作号
    
        %工作号    %可以省略,但要注意工作号和PID的区别

    3.3 把后台暂停的工作恢复到后台执行

    bg %工作号

    3.4 后台命令脱离终端运行

      我们已经知道把命令放入后台,只能在当前登录终端执行。那如果我是远程管理的服务器,在远程终端中执行了后台命令,这时我退出登录,这个后台命令还能继续执行吗?当然是不行的,这个后台命令会被终止。但是我们确实需要在远程终端中执行某些后台命令,该如何执行呢?

      第一种方法是把需要后台执行的命令加入/etc/rc.local文件,让系统在启动时执行这个后台程序。这种方法的问题是,服务器时不能随便重启的,万一有临时后台任务,就不能执行

      第二种方法是使用系统定时任务,让系统在指定的时间执行某个后台命令。这样放入后台的命令与终端无关,是不依赖登录终端的

      最后一种方法是使用nohup命令

      nohup命令的作用就是让后台工作在离开操作终端时,也能够正确的在后台执行

    [root@centos2 ~]# nohup [命令] &
    
    
    [root@centos2 ~]# nohup find / -name httpd.conf &
    [1] 5385
    [root@centos2 ~]# nohup: 忽略输入并把输出追加到"nohup.out"

     三、系统资源查看

    1. vmstat命令监控系统资源

    vmstat [刷新延时 刷新次数]
    
    [root@centos2 ~]# vmstat
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     1  0      0 1082904   2116 346368    0    0   309    21  103  220  1  2 96  0  0
    [root@centos2 ~]# vmstat 1 3
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     1  0      0 1083160   2116 346368    0    0   306    21  102  219  1  2 96  0  0
     0  0      0 1083160   2116 346368    0    0     0     0   69   82  0  0 99  0  0
     0  0      0 1083160   2116 346368    0    0     0     0   42   54  0  0 100  0  0

    命令的输出:

      procs:进程信息字段

        r:等待运行的进程数,数量越大,系统越繁忙

        b:不可被唤醒的进程数量,数量越大,系统越繁忙

      memory:内存信息字段

        swpd::虚拟内存的使用情况,单位KB

        free:空闲的内存容量,单位KB

        buff:缓冲的内存容量,单位KB

        cache:缓存的内存容量,单位KB

      swap:交换分区的信息字段

        si:从磁盘中交换到内存中数据的数量,单位KB

        so:从内存中交换到磁盘中数据的数量,单位KB。此两个数越大,证明数据需要经常在磁盘和内存之间交换,系统性能越差

      io:磁盘读写信息字段

        bi:从块设备读入数据的总量,单位是块

        bo:写到块设备的数据的总量,单位是块。此两个数越大,代表系统的I/O越繁忙

      system:系统信息字段

        in:每秒被中断的进程次数

        cs:每秒钟进行的事件切换次数。此两个数越大,代表系统与接口设备的通信非常繁忙

      CPU:CPU信息字段

        us:非内核进程消耗CPU运算时间的百分比

        sy:内核进程消耗CPU运算时间的百分比

        id:空闲CPU的百分比

        wa:等待I/O所消耗的CPU百分比

        st:被虚拟机所盗用的CPU百分比

     2. dmesg显示开机时内核检测信息

    [root@centos2 ~]# dmesg |grep CPU
    #查看CPU信息
    [root@centos2 ~]# dmesg |grep ens33
    #查询第一块网卡信息

    3. free命令查看内存使用状态

    [root@centos2 ~]# free [-b|-k|-m|-g]
    
        -b:以字节为单位显示
        -k:以KB为单位显示,默认
        -m:以MB为单位显示
        -g:以GB为单位显示
    
    [root@centos2 ~]# free
                  total        used        free      shared  buff/cache   available
    Mem:        1863104      431544     1082804       12608      348756     1272688
    Swap:       2097148           0     2097148

    4. 查看CPU信息

      CPU的主要信息保存在/proc/cpuinfo这个文件当中,我们只有查看这个文件,就可以知道cpu的相关信息

    [root@centos2 ~]# cat /proc/cpuinfo 
    processor    : 0
    vendor_id    : GenuineIntel
    cpu family    : 6
    model        : 78
    model name    : Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
    stepping    : 3
    microcode    : 0x33
    cpu MHz        : 2400.299
    cache size    : 3072 KB
    physical id    : 0
    siblings    : 2
    core id        : 0
    cpu cores    : 2
    apicid        : 0
    initial apicid    : 0
    fpu        : yes
    fpu_exception    : yes
    cpuid level    : 22
    wp        : yes
    flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat
    bogomips    : 4800.59
    clflush size    : 64
    cache_alignment    : 64
    address sizes    : 43 bits physical, 48 bits virtual
    power management:

    5. 查看本机登陆用户信息

    如果我们想要知道Linux服务器上目前已经登录的用户信息,可以使用w或who命令来进行查询。先看看w命令

    [root@centos2 ~]# w
     01:11:52 up 39 min,  1 user,  load average: 0.01, 0.02, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.80.1     00:38    0.00s  1.06s  0.04s w

      第一行其实和top命令的第一行非常类似,主要显示了系统当前时间,开机多久(up),有多少用户登陆(users),1分钟、5分钟、15分钟前的平均负载(load average)

      第二行是项目的说明,第三行开始每行代表一个用户。这些项目是

        USER:登陆的用户名

        TTY:登陆终端

        FROM:从哪个IP地址登陆

        LOGIN@:登陆时间

        IDLE:用户闲置时间

        JCPU:指的是和该终端连接的所有进程占用的CPU运算时间。这个时间不包括过去的后台作业时间,但包括当前正在运行的后台作业所占用的时间

        PCPU:指当前进程所占用的CPU运算时间

         WHAT:当前正在运行的命令

    who命令比w命令稍微简单一点,也可以用来查看系统中已经登录的用户

    [root@centos2 ~]# who
    root     pts/0        2019-11-13 00:38 (192.168.80.1)
    #用户密码 登陆终端 登陆时间(登陆来源IP)

    6. uptime命令

      uptime命令的作用就是显示系统的启动时间和平均负载,也就是top命令的第一行。其实w命令也能看到这一行的数据,具体原意使用哪个命令看个人习惯

    [root@centos2 ~]# uptime
     01:19:02 up 46 min,  1 user,  load average: 0.00, 0.01, 0.05

    7. 查看系统与内存相关信息

    我们使用uname命令查看内核的相关信息

    [root@centos2 ~]# uname [选项]

      -a:查看系统所有相关信息
      -r:查看内核版本
      -s:查看内核名称

    如果我们想要判断当前系统的位数,可以通过file命令来判断系统文件(主要是系统命令)的位数来判断系统的位数。

    [root@centos2 ~]# file /bin/ls
    /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped
  • 相关阅读:
    springCloud和docker笔记(1)——微服务架构概述
    gradle配置远程仓库(以及使用本地maven仓库)
    linux以及git和maven常用命令
    junit使用小结
    aop中获取方法的注解
    mysql使用总结
    mac的终端窗口的工作组的使用
    线性表试题中的操作代码
    echart与Accelerometer综合
    php与MySQL与echart综合使用
  • 原文地址:https://www.cnblogs.com/sswind/p/11834057.html
Copyright © 2011-2022 走看看