• linux操作系统基础篇(四)


    一.系统监控

    1.TOP 命令

    1) top命令的功能:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

    2) 使用top命令列出系统状态时,系统默认每5秒刷新一下屏幕上的显示结果。

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

    12:38:33

    当前时间

    up 50days

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

    1 user

    当前登录用户数

    load average: 0.06, 0.60, 0.48

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

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

    Tasks: 29 total

    进程总数

    1 running

    正在运行的进程数

    28 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

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

    SWAP

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

    RES

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

    CODE

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

    DATA

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

    SHR

    共享内存大小,单位kb

    nFLT

    页面错误次数

    nDRT

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

    S

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

    COMMAND

    命令名/命令行

    WCHAN

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

    Flags

    任务标志,参考 sched.h

    CPU利用率 : 在某一时间段内真正运行计算了多少内容的时间除以主时间就等于该CPU的利用率。
    CPU的平均负载:CPU运行任务如果在某一时间内想要运行3个任务,但是CPU能在这段时间内运行6个任务,那么cpu在这段时间内的负载为0.5
    CPU运行任务如果在某一时间内想要运行50个任务,但是CPU只能在这段时间内运行25个任务,那么cpu在这段时间内的负载为2.0 ,即超负荷运转
    CPU 负载大于等于1 能正常应付。
    CPU负载大于1,则为超负荷运转。

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

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

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

      因而一个进程有三种状态

    2.free命令

    free命令的功能:显示内存的使用状态

    total内存总量 used使用量 free空闲量 shared共用量  

    buffers:内存中 将要写入到硬盘的数据量(缓存)

    cached: 内存中 从硬盘中读取到内存的数据量

    需要注意的是,free表示的是当前完全没有被程序使用的内存;而cache在有需要时,是可以被释放出来以供其它进程使用的(当然,并不是所有cache都可以释放,比如当前被用作ramfs的内存)。而available才真正表明系统目前可以提供给应用程序使用的内存。/proc/meminfo3.14内核版本开始提供MemAvailable的值;在2.6.27~3.14版本之间,是free程序自己计算available的值;早于2.6.27版本,available的值则同free一样

    计算Linux的真实使用率

    内存使用率(MEMUsedPerc)=100*(MemTotal-MemFree-Buffers-Cached)/MemTotal

    2. 系统中进程的监控—ps
    1) 进程的定义:进程是程序的一次动态执行。
    2) 守护进程的定义:守护进程是在后台运行并提供系统服务的一些进程。
    3) 父进程、子进程的定义:当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程。
    4) ps命令的功能:用来显示当前进程的状态。
    Ps –aux 显示所有的与用户相关的完整信息
    3.系统中进程的监控pstree、kill

    pstree命令的功能:以树状图显示程序。
    2) pstree命令的用法举例:
    例如:列出PID为4729的进程的进程状态树的命令:pstree 4729
    3) kill命令的功能:把一个信号发送给一个或多个进程。默认发送终止信号。

    kill-9 +进程号 强制终止 该进程号的程序。

    pkill -9 +进程名字 也能达到同样的效果。

    二.使用fdisk和partprobe命令来管理硬盘分区
    1) fdisk命令的功能:创建磁盘分区。
    2) fdisk命令列表中常用的命令:
    a) d:删除一个(已经存在的)分区,其中d是delete的第1个字母。
    b) l:列出(已经存在的)分区的类型,其中l是list的第1个字母。
    c) m:列出fdisk中使用的所有命令,其中m是menu的第1个字母。
    d) n:添加一个新的分区,其中n是new的第1个字母。
    e) p:列出分区表的内容,其中p是print的第1个字母。
    f) q:退出fdisk,但是不存储所做的变化,其中q是quit的第1个字母。
    g) t:改变分区系统的id,其中t是title的第1个字母。
    h) w:退出fdisk并存储所做的变化,其中w是write的第1个字母。
    3) partprobe命令的功能:重新初始化内存中内核的分区表。
    5. 创建文件系统(数据的管理)
    1) 格式化的定义:所谓的格式化就是将分区中的硬盘空间划分成大小相等的一些数据块(Blocks),以及设定这个分区中有多少个i节点可以使用等。
    2) 文件系统的定义:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。
    3) 了解常用的文件系统类型
    ext2:Linux系统中标准的文件系统
    ext3:一种日志式文件系统
    ext4:一种针对ext3系统的扩展日志式文件系统
    lvm:逻辑盘卷管理 
    iso9660:目前唯一通用的光盘文件系统 
    4) mkfs命令的功能:格式化磁盘。

    为一个分区设定label(分区名)
    1) 掌握e2label命令的功能:设定或查看一个设备的label名称。

  • 相关阅读:
    swiper.js 点击链接跳转后再次返回到轮播原位置
    KVO和KVC
    XML与HTML的区别
    iOS UIAppearance使用详解
    文件处理
    IOS 四种数据永久保存的方式
    UIImage图片处理(更改颜色,修改透明度,缩小,合并图片)
    从一个视图控制器切换到另一个视图控制器的几种方式
    NSString的常用方法
    NSURLRequest和NSURLConnection
  • 原文地址:https://www.cnblogs.com/niubin/p/6909267.html
Copyright © 2020-2023  润新知