目录
进程简介
进程分类:
查看进程
ps命令查看进程
ps命令显示的所有属性:
top命令查看进程
top命令可用的选项:
top命令的所有属性:
在top执行过程中可以使用的按键命令:交互式命令说明
信号控制进程
作业控制
磁盘管理
维护基本存储空间
分区的两种格式:
临时挂载:
永久挂载:
使用parted进行分区
交互式:
非交互式:
parted与fdisk的区别:
管理逻辑卷
例:两块10G硬盘整合称为一块硬盘:
删除逻辑卷:
逻辑卷动态的扩大:
管理swap分区:
程序、进程、线程:
程序:二进制文件,文件存储在磁盘中,例/usr/bin目录下
进程:进程是已启动的可执行程序的运行实例
线程:是操作系统能够进行运算调度的最小单位,它被包含在进程中的实际运作单位,一个进程可以并发多个进程,每条线程并行执行不同的任务

ps显示某个时间的程序运行情况
ps(默认):显示当前系统运行的进程信息
ps命令的可用选项:
-a:显示所有用户的进程
-u:显示用户名和启动时间
-x:新式没有控制终端的进程
-e:显示所有进程,包括没有控制终端的进程
-l:长格式显示
-f:做出一个更完整的输出
F:进程标志
S:程序的状态:
R(running) :程序正在运行
S(Sleep) :正在睡眠,但是可以唤醒
D:不可被唤醒的睡眠状态,通常可能是在等待I/O的情况 *
T:停止状态可能在工作控制(后台暂停)或者traced状态
Z:僵尸状态,程序已经终止但是无法被移除到记忆体外
+:位于后台的进程组
UID、PID、PPID:UID所拥有/进程id、程序父进程id
C:cpu使用率
PRI、NI:优先级别(小优)
ADDR/SZ/WCHAN:内存地址信息 占用内存大小 是否运行
TTY:登陆者的中间位置
TIME:进程占用CPU的时间
COMMAND:进程文件,进程名
pidof/pgrep -l 进程名称 :显示批处理进程
特点:top命令可以动态显示进程信息
-d:后面可以接秒数,就是整个进程页面更新的秒数,默认是3秒
-b:以批次的方式执行top,还有更多的参数可以用。通常会搭配数据流重定向来将批处理的结果输出为文件。
-n:与-b搭配,进行几次top的输出结果
-i:不显示限制或者僵死的进程信息
-c:显示进程的整个 进程命令,而不是只显示命令名称
-s:使top命令在安全模式下运行,此时top的交互式命令被取消,避免 潜在危险
-p:指定某些个PID来进行查看检测
前五行为统计信息区,后面为进程信息区
第一行:任务队列信息
当前系统时间 up:系统已经启动的时间 users当前登录系统的用户数 1min 5min 15min前到现在的平均负载...(如果是1表示满负载)
第二行:数量信息
进程总数量 正在运行的进程数 处于休眠状态的进程数 停止的进程数 僵死的进程数
第三行:各种cpu百分率
第四行:物理内存的使用情况
第五行:虚拟内存的使用情况
PID:进程的id
USER:进程所有者的用户名
PR:进程优先级
NI:nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位为KB
RES:进程使用的、未被换出的物理内存大小,单位KB
SHR:共享内存大小,单位KB
S:进程状态,D表示不可中断的睡眠状态,R表示运行状态,S表示睡眠状态,T表示跟踪/停
止,Z表示僵死进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程占用的物理内存百分比
TIME+:进程总计使用的CPU时间,单位为1/100秒
COMMAND:正在运行进程的命令名或者命令路径
| 交互式命令 | 说明 |
|---|---|
| h/? | 显示帮助信息,给出交互式命令的一些说明 |
| k | 终止一个进程,系统将提示用户输入一个需要终止进程的PID |
| i | 忽略闲置进程和僵死进程,这是一个开关式命令 |
| S | 改变top输出信息两次刷新之间的时间,系统将提示输入新的时间,单位是秒。如果输入 小数,就换算成毫秒;如果输入0,系统输出将不断刷新,默认刷新时间是3秒;需要注意 的是,如果设置太短的时间,可能会引起系统不断刷新,无法看清输出显示情况,而且系 统负载也会加大 |
| o/O | 改变top输出信息中显示项的顺序。按小写的a-z键可以将相应的列向右移动,而按大写的 A-Z键可以将相应的列向左移动。最后按enter确定 |
| f/F | 从当前显示列表中添加或者删除项,按f键之后会显示列的列表,按a-z键即可显示或隐藏 对应的列。最后按enter确定 |
| m | 切换显示内存信息 |
| t | 切换显示进程和cpu状态信息 |
| r | 重新设置一个进程的优先级,系统提示用户输入需要改变的进程PID以及需要设置的进程 优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认 值是10 |
| l | 切换显示平均负载和启动时间信息 |
| q | 退出top显示 |
| c | 切换显示完整命令行和命令名称信息 |
| M | 根据驻留内存大小进行排序输出 |
| N | 以PID来排序 |
| p | 根据CPU使用百分比大小进行排序输出 |
| T | 根据时间/累计时间进行排序输出 |
| S | 切换到累计模式 |
| W | 将当前top设置写入~/.toprc文件中 |
kill 进程id值:结束某进程
killall 程序名称:结束某进程组
[root@localhost ~]# kill -l #列出所有支持的信号
编号 信号名
1) SIGHUP 重新加载配置
2) SIGINT 键盘中断^C
3) SIGQUIT 键盘退出
9) SIGKILL 强制终止
15) SIGTERM 终止(正常结束),缺省信号
18) SIGCONT 继续
19) SIGSTOP 停止
20)SIGTSTP 暂停^Z
sleep 100 &:运行程序时,让其在后台执行
jobs:查看所有后台进程
fg=foreground 100(作业号):将后台的进程放到前台ctrl+z:将前台的任务放到后台;
bg = BackGround (将后台暂停的进程修改为运行);
(1)主机加电--BIOS初始化---BIOS硬件自检--引导操作系统启动(mbr|gpt) 特点:默认该引导格式只允许创建四个分区; (2)主机加电--UEFI初始化--引导操作系统启动(mbr|gpt) 特点:默认该引导格式只允许创建128个分区;MBR分区:
| 指令 | 作用 | 指令 | 作用 |
|---|---|---|---|
| a | 调整磁盘的启动分区 | p | 显示当前磁盘的分区信息 |
| d | 删除磁盘分区 | t | 更改分区类型 |
| l | 显示所有支持的分区类型 | u | 切换所显示的分区大小单位 |
| m | 查看所有指令的帮助信息 | n | 创建新分区 |
| q | 不保存更改,直接退出 | w | 将修改写入磁盘分区表,然后退出 |
| g | 新建一个空的GPT分区表 | o | 新建一个空的DOS分区表 |
格式化mkfs.xfs ;
挂载;
可将命令行写在脚本中,运行脚本实现一键创建;适用于远程批量管理多台主机的场景。
格式:parted 设备 mkpart part-type [fs-type] start end PART-TYPE:分区类型,primary(主分区)、logical(逻辑分区)、extended(扩展分 区) FS-TYPE:可选项,文件系统类型,ext4、ext3、xfs等等 START:设定磁盘分区起始点;可以为0或者numberMiB/GiB/TiB END:设定磁盘分区结束点;可以为-1或者numberMiB/GiB/TiBfdisk只支持mbr引导格式;大小2TB; parted支持mbr和gtp的引导格式;大小>=2TB;
为了解决磁盘浪费的问题使用LVM逻辑卷解决;
(1)LVM(磁盘空间的动态整合)的原理:将若干块磁盘组合成为一个卷组,形成一个存储池。管理员可以在卷组上任意创建逻辑卷,管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。
(1)物理存储设备:系统的存储文件,如:/dev/...
(2)物理卷:简称PV ,物理卷可以是整个硬盘,硬盘分区或者从逻辑上与磁盘分区具有相同肝功能的设备,是LVM的基本存储逻辑块,但是和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
(3)卷组:简称VG,可以看成单独的逻辑磁盘,建立在PV之上,一个眷组中至少要包括一个PV,在卷组建立之后可以动态的添加到卷组中,卷组的名称可以自定义。
(4)逻辑卷:简称LV,相对于物理分区,逻辑卷建立在卷组之上,卷组的未分配空间可以用于建立新的逻辑卷。逻辑卷建立后建立后可以动态的扩展或者缩小空间。系统中的多个逻辑卷,可以属于同一个卷组,也可以属于多个不同的多个卷组。
(5)PE(物理区域 4MB):物理区域是物理卷中用于分配的最小存储单元,物理无语的大小默认为4MB。物理区域大小一旦确定将不能改变,同一卷组中的所有物理卷的物理区域大小需要一致;
(6)LE(逻辑区域 4MB):逻辑区域时逻辑卷中可用于份额皮的最小存储单元,逻辑卷区域的大小取决于逻辑卷组中的物理区域的大小,LE的大小与PE的大小一样;
(7)VGDA(卷组描述符区域):和非LVM系统将包含分区信息的元数据保存在位于分区的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于逻辑卷起始的卷组描述区域中,VGDA包含以下内容:PV描述符,VG描述符,LV描述符和一些PE描述符;
pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 rhel_bogon lvm2 a-- <19.00g 0 /dev/nvme0n2p1 lvm2 --- <10.00g <10.00g /dev/nvme0n3p1 lvm2 --- <10.00g <10.00g(3)创建卷组VG:vgcreate vg1(卷组名称) /dev/nvme0n2p1 /dev/nvme0n3p1 vgextend:扩展卷组(将某个磁盘分区新添加到该卷组中) vgremove:删除卷组 使用vgs进行查看:
vgs VG #PV #LV #SN Attr VSize VFree rhel_bogon 1 2 0 wz--n- <19.00g 0 vg1 2 0 0 wz--n- 19.99g 19.99g(4)创建逻辑卷LV:lvcreate -n lv1 -l 100%FREE vg1 格式:lvcreate -L 指定大小(整数指定) -l(百分比指定) -n 名称 指定VG 使用lvs进行查看:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root rhel_bogon -wi-ao---- <17.00g swap rhel_bogon -wi-ao---- 2.00g lv1 vg1 -wi-a----- 19.99g格式化: mkfs.xfs 逻辑卷 /dev/vg1/lv1; 挂载;