系统管理
一、进程管理
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