系统监控及磁盘管理

一、系统监控

top:系统监视和进程控制工具

       top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top命令列出系统状态时,系统默认每5秒刷新一下屏幕上的显示结果。

     1. 第一行是任务队列信息

12:42:45

当前时间

up 4min

系统运行时间,格式为时:

3 user

当前登录用户数

load average: 0.16, 0.63, 0.35

系统负载。 三个数值分别为  1分钟、5分钟、15分钟前到现在的平均值。

2. 第二、三行为进程和CPU的信息

Tasks: 419 total

进程总数

2 running

正在运行的进程数

417 sleeping

睡眠的进程数

0 stopped

停止的进程数

0 zombie

僵尸进程数

Cpu(s): 0.3% us

用户空间占用CPU百分比

1.0% sy

内核空间占用CPU百分比

0.0% ni

用户进程空间内改变过优先级的进程占用CPU百分比

98.7% id

空闲CPU百分比

0.0% wa

等待输入输出的CPU时间百分比

0.0% hi

硬件中断占用CPU时间的百分比

0.0% si

软件中断占用CPU时间的百分比 

  3. 第四五行为内存信息。

4.  进程信息

列名

含义

PID

进程id

PPID

父进程id

RUSER

Real user name

UID

进程所有者的用户id

USER

进程所有者的用户名

GROUP

进程所有者的组名

TTY

启动进程的终端名。不是从终端启动的进程则显示为 ?

PR

优先级

NI

nice值。负值表示高优先级,正值表示低优先级

P

最后使用的CPU,仅在多CPU环境下有意义

%CPU

上次更新到现在的CPU时间占用百分比

TIME

进程使用的CPU时间总计,单位秒

TIME+

进程使用的CPU时间总计,单位1/100

%MEM

进程使用的物理内存百分比

VIRT

进程使用的虚拟内存总量,单位kbVIRT=SWAP+RES

SWAP

进程使用的虚拟内存中,被换出的大小,单位kb

RES

进程使用的、未被换出的物理内存大小,单位kbRES=CODE+DATA

CODE

可执行代码占用的物理内存大小,单位kb

DATA

可执行代码以外的部分(数据段+)占用的物理内存大小,单位kb

SHR

共享内存大小,单位kb

nFLT

页面错误次数

nDRT

最后一次写入到现在,被修改过的页面数。

S

进程状态。
            D=不可中断的睡眠状态
            R=运行
            S=睡眠
            T=跟踪/停止
            Z=僵尸进程

COMMAND

命令名/命令行

WCHAN

若该进程在睡眠,则显示睡眠中的系统函数名

Flags

任务标志,参考 sched.h

       2CPU利用率和负载

       CPU的利用率:就是CPU执行命令所用的实际时间所占整个时间的百分比(正常情况,CPU录用率<70%

       CPU负载:单位时间内CPU完成的任务数量占CPU所需完成任务数量的百分比。(CPU负载<=1,正常情况;CPU负载>1,超负荷运转)

       3、进程的三种状态

       在在两种情况下会导致一个进程在逻辑上不能运行:

  1. 进程挂起是自身原因,遇到I/O阻塞,便要让出CPU让其他进程去执行,这样保证CPU一直在工作

2. 与进程无关,是操作系统层面,可能会因为一个进程占用时间过多,或者优先级等原因,而调用其他的进程去使用CPU

free:显示内存的使用状态

    

  使用free可以查看内存的使用状态,如上图。

  可看出:

  物理内存总共有1003432kb,已经使用912916 kb,还可使用90516 kb

  数据共享的内存有8064 kb,已经分配但未使用的buffers784 kb,已经分配但未使用的cached376752kb

  已经使用的buffercached535380 kb,还可使用的buffercached468052 kb

       swap总计2026492kb,使用为0,还有2026492kb可用。

  上述存在两个等式:

  1.内存总量=已使用的内存+可使用的内存;

  2.可使用的bufferscached=可使用的内存+已经分配但未使用的cached+已经分配但未使用的buffers

free -m以兆为单位查看内存使用状态

ps:系统中进程的监控

进程的定义:进程是程序的一次动态执行。

守护进程的定义:守护进程是在后台运行并提供系统服务的一些进程。

父进程、子进程的定义:当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程。

相关命令:

1.ps    显示有关活动进程选择的信息

2.pstree 4729   列出PID4729的进程的进程状态树

3.ps -aux   显示所有的与用户相关的完整信息

4.kill 3852    终止PID3852的进程

5.kill -9 3906   强制杀死PID3906的进程

6. pkill firefox   杀死名为firefox的进程

7. pkill -9 firefox   强制杀死名为firefox的进程

8.pgrep firefox   查找名为firefox的进程

二、磁盘管理及文件系统

       1、在Linux系统中,每个设备都被当成一个文件来对待。

       2、硬盘的逻辑结构:一个硬盘逻辑上可以被划分成块、磁道、磁柱和分区。

1)块的定义:块是盘片上寻址(访问)的最小单位,一个块可以存储一定字节的数据。

2)磁道的定义:磁道是由一系列头尾相连的块组成的圆圈。

3)磁柱的定义:磁柱是由一叠磁道,由在相同半径上每个盘面的磁道所组成。

4)分区的定义:分区是由一组相邻的磁柱所组成。

3、使用fdiskpartprobe命令来管理硬盘分区

1fdisk命令列表中常用的命令:

d:删除一个(已经存在的)分区,其中ddelete的第1个字母。

l:列出(已经存在的)分区的类型,其中llist的第1个字母。

m:列出fdisk中使用的所有命令,其中mmenu的第1个字母。

n:添加一个新的分区,其中nnew的第1个字母。

p:列出分区表的内容,其中pprint的第1个字母。

q:退出fdisk,但是不存储所做的变化,其中qquit的第1个字母。

t:改变分区系统的id,其中ttitle的第1个字母。

w:退出fdisk并存储所做的变化,其中wwrite的第1个字母。

2partprobe命令的功能:重新初始化内存中内核的分区表。

4、创建文件系统(数据的管理)

1)格式化的定义:所谓的格式化就是将分区中的硬盘空间划分成大小相等的一些数据块(Blocks),以及设定这个分区中有多少个i节点可以使用等。

2)文件系统的定义:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。

3)了解常用的文件系统类型

ext2Linux系统中标准的文件系统

ext3:一种日志式文件系统

ext4:一种针对ext3系统的扩展日志式文件系统

lvm:逻辑盘卷管理

iso9660:目前唯一通用的光盘文件系统

4)掌握mkfs命令的功能:格式化磁盘。

5)灵活应用常用的格式化命令:

mkfs.文件系统类型

将分区/dev/sdb1格式化为ext4文件系统的命令为:mkfs.ext4 /dev/sdb1

6)为一个分区设定label(分区名)(详见linux系统管理P405

7)查看/dev/sdb1分区的label的命令为:

e2label /dev/sdb1

/dev/sdb1分区的label设定为wg的命令:

e2label /dev/sdb1 wg

       5、文件系统的挂载和卸载

       1)挂载的定义:挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上。

       2)命令:

       mount /dev/sdb1 /wg  /dev/sdb1分区挂载到/wg目录上

       umount /wg  卸载/wg上的文件系统

       6、虚拟内存的概念以及设置与管理

       1)虚拟内存的定义:所谓虚拟内存就是一块硬盘空间被当做内存使用,也被称为交换分区(swap)。

       2)命令:

    mkswap /dev/sdb2  将分区/dev/sdb2设置为交换分区

  swapon a启动全部的交换分区。

  swapon s列出当前正在使用的所有系统交换分区的状态。

  swapon /dev/sdb2  启用交换分区/dev/sdb2

7、查看私盘和目录文件

df命令的功能:显示文件系统中磁盘使用和空闲区的数量。

-a 显示所有磁盘

-h 单位转换

du命令的功能: 显示目录和文件的大小a h同上

三、课后作业

作业一:
1)开启Linux系统前添加一块大小为15G的SCSI硬盘

2)开启系统,右击桌面,打开终端

3)为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G 

4)格式化主分区为ext3系统 

5)将逻辑分区设置为交换分区

6)启用上一步的交换分区
7)查看交换分区的状态

作业二:

 free命令查看内存

整理buffer与cache的作用

buffer是指被将输出到硬盘的数据占用

cache是指从被硬盘中读取出来的数据占用

计算真实的内存使用率

实际使用率=751420/1003432*100%=74.88%
作业三:dd命令测试硬盘速度

作业四:查找一个名为ssh的进程,并且将其强制杀死

       1、CPU的利用率

CPU的负载:1分钟,5分钟,15分钟

       2、内存free   free -m  free –w

       清内存 echo 3 >/proc/sys/vm/drop_caches

       3、进程 ps aux | grep ‘ssh’      ps -elf

       4、硬盘

              df –T:文件系统类型

              df –h:人性化

              df –i:iNode

              mount

              dd if=/dev/zero of=/a.txt bs=2G count=3

              fdisk -l /dev/sda  查看硬盘分区信息

              fdisk /dev/sda  n:新建分区  p:主分区 e:扩张分区 w:保存分区信息

              mkfs.xfs /dev/sda1 格式化分区为XFS格式  做文件系统

猜你喜欢

转载自www.cnblogs.com/bubu99/p/12203058.html