Linux磁盘管理相关设置



Linux管理

1.W是查看Linux系统信息的负载

最需要关注的是load average后边的

2.vmstat命令来监控系统状态。

#vmstat

r:表示运行或等待cpu时间的片的进程数。不要误认为等待cpu时间片意味着这个进程没有结束,实际上某一时刻的1cpu只能一个进程占用,其他进城只能等待,而这些等待cpu资源的进程依然是运行状态。如果该数值长期大于cpu的个数,则说明cpu资源不够用了

b:表示等待资源的进程数,这个资源指的是I/O、内存等。如果当磁盘读写非常频繁的时候,写数据就会很慢,此时cpu运算很快就结束了,但进程需要把计算的结果写入磁盘,这样进程的任务才算完成,那只能等待进程慢慢的写入磁盘,这个进程就是b这个状态,如果数值长期大于1,则需要关注一下。

si:表示由交换区写入内存的数据量,单位为KB

so:表示有内存写入交换去的数据量,单位为KB

bi:表示从块设备读取数据的量(读磁盘),单位为KB

bo表示从块设备写入数据的量(写磁盘),单位为KB

vmstat查看系统状态时,通常会使用如下形式:

#vmstat 1 5:每个一秒输出一次,共输出5

#vmstat 1:每隔一秒输出1次并且一直处于输出状态,按Ctrl+C停止。

3.top命令来显示进程所占的系统资源。

top命令用与动态监控进程所占的系统资源,每三秒变一次,他的特点是将占用系统资源(cpu、内存、磁盘I/等)最高进程放在最前面。RES这一项为进程所占的内存大小,而%MEM这一项为使用内存的百分比。在top状态下使用shift+m键可以按照内存使用大小排序,按1可以列出所有核cpu的使用状态,按q键可以退出top状态。

#top –bn1:表示非动态打印系统资源的使用情况,可以用在shell脚本中。

          他和top命令唯一的区别是他可以一次性输出所有信息而非动态显示

-d:指定延迟时常,默认单位为秒

top –d 1 //每一秒刷新一次

-b:刷屏显示(默认一屏显示不完)

top –d 1 –b

-n:显示几屏后退出

top –d 1 –b –n 3

备注:

    M:根据驻留内存大小进行排序

    P:根据cpu使用百分比进行排序

    T:根据累计时间进行排序

    l:是否显示平均负载和启动时间

    t:是否显示进行和cpu状态相关信息

    m:是否显示内存相关信息

    c:是否显示完整的命令行信息

    q:退出top

    k:终止摸个进程

       按下k后会出现PID to kill:,此时将要进行杀死的进程号写在这里回车就行了。

4.sar命令监控系统状态

与其他监控系统的工具相比,他可以打印历史信息,可以显示从当天零点开始到当前时刻的系统状态信息。

如果系统没有安装这条命令,可以使用yum install –y sysstat来安装

#sar –q:用来查看历史负载;有助于我们查看服务器在过去某个时间的负载状况。

#sar –n DEV

如果自己服务器丢包严重,可以查看一下网卡流量是否异常,如果rxpck/s那一列的数值大于4000,或者是rxkB/s这一列的数值大于5000000,有极大的可能是你被攻击了,如果你自己在复制数据中查看这两个人数据的数值特别大,则例外。

IFACE:表示设备的名称

rxpck/s:表示每秒进入收取的包的数量

txpck/s:表示每秒发送出去的包的数量

rxkb/s:表示每秒收取的数据量

txkb/s:表示每秒发送的数据量

5.free命令来查看内存使用情况

total:内存总的大小

used:真正使用的实际内存大小

free:剩余物理内存大小

buff/cache:分配给buffercache的内存总共有多少

          buffer:数据经过cpu计算,即将写入磁盘的,这是用的内存为buffer

          cpu:要计算时,需要把数据从磁盘读出来,临时先放到内存中,这部分内存就是cache

-b:以Byte为单位显示内存使用情况;

-k:以KB为单位显示内存使用情况

-m:以MB为单位显示内存使用情况

-o:不显示缓冲区调节列

-s<间隔秒数>:持续观察内存使用状况;

-t:显示内存总和列

-V:现实版本信息

6.BSD风格的

a:所有与终端有关的进程

u:显示进程是由哪个用户启动的

x:所有与终端无关的进程,但不全是。所以通常和a一起使用。

ps命令来产看系统进程

PID:表示进程的ID,我们在工作中如果想要关闭某个进程,可以使用“kill进程的PID”,不能终止的话还可以加-9,这样虽然可以结束进程,但严重时会造成数据丢失,万不得已最好别用

显示前五行:

备注:

    TTY:所关联到的终端,其中的?表示与终端无关

    STAT:表示进程状态

    D:不可中断的睡眠

    R:运行或就绪

    S:可中断的睡眠

    T:停止

    Z:僵死

    <:高优先级进程

    N:低优先级进程

    +:前台进程组的进程

       比如启动一个bash,在这之前可以启动多个进程,这些进程同属于一个终端;

       而前台进程就是从命令行输入的进程,和当前终端相关的。

    l:多线路进程

    s:会话进程首进程

7.Sysv风格

e:显示所有进程

l:长格式显示

F:额外的完整格式(更多字段)

常用组合:-elF

         -ef

         -eF

备注:PPID:父进程的ID

     NI:优先级(Nice

     PRI:进程优先级编号

     WCHAN:进程正在睡眠的内核函数名称:该函数的名称是从/root/system.map文件中获得的

     FLAGS:与进程相关的数字标识

     PSR:正在运行在哪个CPU

8.其它选项

 -c:可以制定字段

    格式:ps –o属性1,属性2,属性3

    

9.tcpdump工具

当输入命令:tcpdump –nn –I ens33按回车后会出现很多字符串,之后按下Ctrl+C会停止,画品越快说明网卡上的数据包越多。

#tcpdump –nn –i en33 –c 100

-c是指定抓包数量,抓够了自动退出,不用人为取消。

10.uptime

 解释:告诉系统运行了多长时间

备注:a.00:55:02   当前时间

     b.up 1238 运行时长

     c.2 users    登陆了多少个用户

     d.load average0.00,0.00,0.00 平均负载值

注意:与top命令结果第一行相同

11.进程间通信

A.抛出问题:

 Linux各进程之间是不知道彼此存在的,那么两个进程间通信怎么办

 比如本机是http的服务终端,也可以是测试端,

 思路:可以模拟成两个主机上的进程,因此可以在本机内部完成通信,有这样几种机制:

  1. 共享内存:一个进程往内存写东西,一个去读,这样就能通信了。

  2. 信号:   一个进程向另一个进程发一个非常简短的信息叫做信号

  3. 旗语:   类似于一个进程向另一个进程打手势。

B.重点讲信号

 1.显示所有可用信号

kill –l

kill命令主要是用来终止进程的;

2.指定一个信号

 a.信号号码:

  如:kill -1

      Kill -9

 b.信号名称:

  如:kill –SIGKILL

      Kill –SIGHUP

 c.信号名称简写:

  如:kill –KILL

      Kill –HUP


版权声明:本文为qq_41446972原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。