Linux学习--Linux系统日常管理1

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gpcsy/article/details/48244671
1. 命令 w
w返回的信息,比较重要的就是负载值。
load  average  后面的三个数分别是对应的1分钟,5分钟,15分钟的平均负载。
load average的意义是,在这1分钟内有多少进程正在使用cpu以及多少进程排队将要使用cpu
例如  10个窗口可以打饭,但来了100个人。打饭的师傅是cpu,来吃饭的同学就是任务。

返回的第一行数据信息意思如下:
系统时间     up启动了多久时间        登录了多长时间    几个用户     平均负载
详细的用户信息。

用户     登录方式     从哪里登录的    登录了多长时间   空闲时间   该终端下进程占用cpu时间   当前命令占用了多长cpu时间 

      


ps:有时what下显示的-bash,代表其在运行命令。

用uptime命令,只显示w返回的第一行内容

1分钟内的负载值小于内核数的时候最好。

如何看cpu有几个内核:  cat   /proc/cpuinfo      查看processor号,不管是逻辑的还是物理的cpu,有几个就是几个。
最直接的命令:lscpu,查看CPU(s)这个数值,不用去查询processor号。
如果1分钟平均负载为12.5,而只有8个内核的话,那就是只能执行8个任务,4.5个任务需要排队等待使用cpu。

2.  进程不共享同一块内存各用各的,线程共享一块内存,另外
进程是同时的进行,线程是并发的执行

3.  vmstat  1(主要看的参数是:r 、b 、si、so、bi、bo、us、sy、wa)

假如用w查看后,发现有负载,那就可以使用vmstat 1来查看,这些负载都是哪来的。(1代表1秒中刷新一次)



procs      memory        swap            io              system           cpu
任务        内存            交换空间      磁盘         系统相关          cpu
通过上述参数,可以查看到底是哪块造成了高负载。

procs进程/任务
r :表示运行和等待cpu时间片的进程数,和1分钟平均负载值类似,如果长期大于服务器cpu的个数,则说明cpu不够用了;
b :表示任务处于阻塞状态。可能磁盘吞吐慢,网络卡,内存低等造成。比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了

memory内存
swpd  :交换了多少个块,单位kb,这个值越大说明交换的数据越多。如果这个值很大或者这个数值一会大一会小,而且变化很快,则说明内存不够用了。一般是内存不够用了,才去将数据放到swpd里。
free    :剩余内存空间。可以用 vmstat -S M 1来清晰查看
buffer:缓冲剩余空间。cpu快,磁盘读写慢,buffer用来平缓2者之间的速度差。数据将要写到磁盘里去,暂时放到内存里的空间,叫buffer。
cache:缓存剩余空间。将数据从磁盘里取出来,暂时存在内存里的空间,叫cache。

swap交换空间
si (swap   in):由交换区进入内存的数量;
so (swap  out):由内存进入交换区的数量;
一般只要内存够用,这2个数值就应该为0。经常为0才正常。相对的对象为内存。

io磁盘
相对的对象也为内存。
bi(in到内存里,那就是从磁盘出来,bi就是读数据) :从块设备读取数据的量(读磁盘);
bo(out从内存里出来,进入磁盘,bo就是写磁盘): 从块设备写入数据的量(写磁盘);
一般bi大于bo,读大于写,读比写频繁,读比写快一些,bibo在1000以内就ok
bi  bo不能太大,否则代表磁盘读写很频繁。


system系统
in:表示中断的次数,表示1秒中之内中断了多少次。
cs:上下文切换

cpu
us:用户态占用cpu的百分比,占用了多少cpu
sy: 内核占用cpu多少
wa :表示I/O等待所占用cpu时间百分比.
要注意哪些进程,此块需要补

4。 top


第一列和vmstat及w都一样
tasks   有多少个任务     多少running多少sleeping    多少停止的     多少僵尸的(没有人要的进程,死进程)
cpu   用户使用的cpu    系统使用的cpu
后两行都是内存相关。

top  -c    会显示整个命令的全部名称,要不只显示进程。
pid进程号码     user使用者   pr  ni 用来衡量进行优先级的。(pr取值范围0~39,值越小,优先级越高。ni取值范围是从-19~20)  virt  虚拟内存    res真正内存   shr共享内存    s进行状态(s:sleep   r:run)   %cpucpu使用率   %mem内存使用率    time使用cpu多久了。
top关注 PID    USER   RES    CPU   MEM
(proc里面就是进程的号码。)

top -bn1  静态的将所有进程信息一次性显示出来

top默认是按照cpu使用率排序,shift m可以切换到按照内存使用率排序。 

5. sar   可以看所有信息状态。比喻为Linux的瑞士军刀。
安装方法:yum  install  -y    sysstat


sar -n DEV   1  10    单位是字节
1   1秒钟显示
10   显示10次
   
sar -n  DEV 1


rxbyt/s接收的      txbyt/s用户上传的     receive    transport


1Byte=8bit
1k=1000byte    byte字节的意思
1byte=8bit    1字节=8比特
10Mb带宽=1.25MB/s     10兆带宽(这个时候的单位是bit),实际下载速度是能达到1.2M(这个时候的单位是字节)
bit就是我们平时说的带宽多大,字节就是我们说的实际传输数据的速度大小。
在我们实际上网应用中,下载软件时常常看到诸如下载速度显示为128KBps(KB/s),103KB/s等等宽带速率大小字样,因为ISP提供的线路带宽使用的单位是比特,而一般下载软件显示的是字节(1字节=8比特),所以要通过换算,才能得实际值。然而我们可以按照换算公式换算一下:
128KB/s=128×8(Kb/s)=1024Kb/s=1Mb/s即128KB/s=1Mb/s。


数据都是存在了/var/log/sar日志里。最多可以记录10天数据。
可以查看指定某一天的数据,例如:
sar -n DEV  -f   /var/log/sa/sa20

sar可以查cpu和硬盘数据。比如
查看系统的历史负载 :  sar  -q
查看某一天的历史负载:sar -q -f  /var/log/sa/sa19
查看磁盘    sar  -b  1   10


主要看bread和bwrtn这两个值。



-i 一般是指定某一个设备


6. free    查看内存的。

free  -m



看系统还剩多少内存,要看途中标白的数值。

362是刨去buffers,cached后,剩余的。
3508包括了buffer,cashed里未使用的
362+192+2952=3508
4473是真正使用的内存。

7.ps
ps  aux  
主要看pid  cpu内存使用     状态
S=sleep。  R=Running。     s=farther。    +前台进程。     < 高优先级的。    N低优先级的。   l多线程的进程。L被锁的进程   Z僵尸进程  D不能被中断的进程    T被终止被暂停的进程。

主要用在,想查看进程是否启动了。  ps aux|grep   进程名字

pstree树形的去查看进程。


8.netstat  查看网络状态。
netstat  -lnp   查看整个系统都有哪些端口在被监听着。

netstat  -an   查看系统的网络连接状况



左边是源,右边是目标,最后是状态。


netstat -an|grep  -ci   establish  查看并发数
netstat -an|wc -l  不能用这个命令来查并发数,因为大多数都是time_wait状态,建立完连接后,在等待下次传输。
netstat -an|grep `122.122.69.86:80`|grep -ic `estab` 查看80端口的并发数

什么是并发:我的数据正在传输、正在通讯、正在和你打交道,请求你给我发过来,建立连接   establish这就是并发。也即同一时刻服务器处理的请求。

猜你喜欢

转载自blog.csdn.net/gpcsy/article/details/48244671