uname
显示系统信息
-a的话会有较为详细的信息(系统名字,主机名,内核版本号,时间,遵循的协议)
hostname
显示与更新主机名
hostname <”要改成的主机名字”>,但是重启之后会失效
如果想永久生效,需要用hostnamectl set-hostname <”要改成的主机名字”>
或者在vim /etc/hostname这里改,但是这种重启terminal无法生效,必须重启之后才能生效
last
列出最近的用户登录,和日志做匹配。比如某一天服务器down掉了。可以先看日志看哪个时间点服务器出现了问题,再对照last看那个时间点谁在做操作
lastlog
列出每一个用户在什么时间最后一次登录系统。出现Never logged in的是nologin的用户。假如root用户是13:00登录的,一直没下线。User1是13:30登录的,而服务器是在13:40出了问题。这时应该找登录系统的所有用户
free
显示内存使用状况
-h:以G,M单位显示内存使用情况
top
系统监视器
top.png
• load average: 系统的平均负载(最近的5分钟,最近的10分钟,最近的15分钟)
考虑系统负荷的时候,必须考虑这台电脑有几个CPU、每个CPU有几个核心。然后,把系统负荷除以总的核心数,只要每个核心的负荷不超过1.0,就表明电脑正常运行
Load < 0.7时:系统很闲,要考虑多部署一些服务
0.7 < Load < 1时:系统状态不错,可以轻松应对
Load == 1时:系统马上要处理不多来了,赶紧找一下原因
Load > 1时:系统已经非常繁忙了
1分钟Load>1,5分钟Load<1,15分钟Load<1:
短期内繁忙,中长期空闲,初步判断是一个“抖动”,或者是“拥塞前兆”
1分钟Load>1,5分钟Load>1,15分钟Load<1:
短期内繁忙,中期内紧张,很可能是一个“拥塞的开始”
1分钟Load>1,5分钟Load>1,15分钟Load>1:
短、中、长期都繁忙,系统“正在拥塞”
1分钟Load<1,5分钟Load>1,15分钟Load>1:
短期内空闲,中、长期繁忙,不用紧张,系统“拥塞正在好转”
• user : 通过图形化界面登录的为一个用户,再打开一个terminal又是一个用户,再打开一个terminal就又是一个用户。这个不是按照用户名多少个算的。而是用户名加登录位置算的
僵尸进程(zombie)占用PID,内存和CPU,但是什么都不做
• CPU(s):
us 用户空间占用CPU的百分比;sy 内核空间占用CPU的百分比
ni 改变过优先级的进程占用CPU的百分比; id 系统CPU剩余的百分比
wa 等待线程占用CPU的百分比;hi 处理硬件中断占用的CPU的百分比
si 处理软件中断占用的CPU的百分比
st CPU被虚拟机技术偷走的百分比,即在虚拟机里又安装了一个虚拟机
但在虚拟机里安装虚拟机伤硬件,同时会影响运行速度
• PID:进程ID,是进程的唯一标识。不会重复,只会递增。但重启后归零
• USER:这个进程是谁运行的
• PR:调度优先级(rt:表示进程运行在实时状态)。比如俩人都能做一件事
HTTP主进程不做任何回应,所有回应会由它的子进程完成。比如它有多个子进程,这时这些子进程的调度相等,那么它们工作值是one by one的。但是如果涉及到集群问题。比如一个http server找到一个proxy server,将请求分给下面的server。很多下面的server是没有http server的父进程的,只有子进程。这时给这些server设定调度优先级,让哪个server先做,再分配给哪个server去做
• NI:进程的优先级(值越小优先级越高)。比如一点的时候做3件事。呼吸吃饭和喝水。这里呼吸的优先级更高,没有这个保证不了后面两个。所以它优先级最高
• VIRT:进程在运行时所使用的虚拟内存,单位是KB,VIRT=RES+SWAP
一般情况下,PR=NI+20
• RES:驻留内存(这个进程在运行的时候占用的非交换物理内存大小)大小,进程使用的并未被换出的物理内存大小。单位KB
• SHR:共享内存大小,单位KB
S:状态(R:运行的 ,S:睡眠的,D:不可中断的睡眠状态,T:被跟踪的/被停止的,Z:僵尸进程)
• %CPU:CPU所占百分比
• %MEM:物理内存所使用的百分比
• TIME+:任务从启动开始总共运行了多长时间,精确到百分之一秒
• COMMAND:进程名
===========华丽分割线=====================================================
VIRT:virtual memory usage 虚拟内存
虚拟内存是存在于内存(物理内存)和交换分区之间的内存,是假想出来的虚的内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
===========华丽分割线=====================================================
在top中输入1可以看见系统中第一块CPU的情况,这时会显示Cpu(0),点2为第二块CPU的情况,显示Cpu(1)。(服务器会有多个CPU)
刷新top状态按空格或者Enter
退出top按 “q”
网友评论