Linux速通06 系统的初始化服务和监控
Linux系统引导的顺序
# 掌握 Linux系统引导的顺序
* BIOS的工作是检查计算机的硬件设备,如CPU、内存和风扇速度等
* MBR会在启动盘的第一个块中,大小为512B,其中前446B是引导信息,中64B是分区信息,后2B是结束标志位
* kernel主要是装载计算机设备的驱动程序以便操作系统可以控制计算机上的设备,并且以只读的方式挂载根文件系统,也就是说此时的操作系统只能读到根文件系统所在的分区
* init程序的进程 id为1,即 Linux操作系统执行的第一个程序
BIOS的初始化和引导加载程序
# BIOS的定义:BIOS(Basic Input/Output System 基本输入输出设备),是硬件和软件之间的接口
GRUB程序和 grub.conf文件
# GRUB的定义:GRUB是 Grand Unified Bootloader(多重操作系统启动管理器)的缩写
# GRUB的配置文件:grub.conf
* 设置 grub Md5加密命令 grub-MD5-crypt
* Password = 明文或 Password = 密文(编辑 grub配置文件的密码)
* Title red hat 标题
* Password = 明文或 Password = 密文(加载内核系统引导必须的密码)
内核的初始化和 init的初始化
# init的配置文件:/etc/inittab
# 了解 init程序要做的工作:
* 决定预设(默认)要使用哪个 run levels(运行级别)
* 执行一些系统初始化的脚步(程序)来初始化操作系统
* 根据 run level的设置来执行所对应目录中的程序,以决定要启动哪些服务
* 设定某些组合键
* 定义 UPS不间断电源系统,即当电源出现问题时或电源恢复时要执行哪些程序
* 产生6个virtual consoles,也就是 tty1~tty6
run level(运行级别)
# 所有的运行级别及每个运行级别对应的功能
* 在 /etc/inittab文件中设置默认的启动级别
run level | 功能 |
0 | 关机,不能设置为 initdefault(默认运行级别) |
1 | 单用户模式,只有root用户可以登录,用于系统维护 |
2 | 多用户模式,但是没有启动网络的功能 |
3 | 多用户模式,启动了网络功能,时文字界面 |
4 | 多用户自定义模式,默认与 run level 3相同 |
5 | 与 run level 3相同,但是启动了 X11(图形界面) |
6 | 重新启动系统,不能设置为initdefault |
关闭系统及重启系统
# 常用的可以关闭系统的命令:
* shutdown -h now
* halt
* poweroff
* init 0
# 常用的可以重启系统的命令:
* shutdown -r now
* reboot
* init 6
* ctrl + alt + delete
单用户模式
# 在开机读秒界面任意按键,进入如下界面
# 按 e 进入选择界面
# 选择 kernel 按 e
# 输入 空格 和 1(表示 init 1 的模式开机),回车后按 b,进入到单用户模式
GRUB加密
# 在 /etc/grub.conf文件下新增一行:password=密码内容
* 密码可用 grub-md5-crypt加密,将加密后内容复制到密码内容中也可以
# 加密后再想进入 GRUB就需要先按 p输入密码,再按 e
破解 GRUB加密
# 在开机界面按 F2进入 BIOS界面,设置成 CD/DVD引导或外部存储引导
# 选择救援模式
# 一路点击 OK,原系统文件被挂载到了 /mnt/sysimage目录下
# 修改 grub.conf文件,删除密码
# 重启后改回 BIOS即可正常进入 GRUB界面
BIOS加密
# 重启后 按 F2 进入BIOS界面
# 设置 supervisor password
# 再次进入 BIOS后就会要求用户输入密码
系统进程监视工具
# top 命令:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
# 使用 top命令显示的系统状态(默认每5秒刷新一下屏幕上的显示结果)
* 第一行:任务队列信息
信息 | 含义 |
20:41:23 | 当前时间 |
up 1 min | 系统运行时间,格式为 时 :分 |
1 user | 当前登录用户数 |
load average:0.12, 0.05, 0.02 | 系统负载,三个数值分别时 1分钟、5分钟、15分钟前到现在的平均值 CPU负载 <=1:能正常运行 CPU负载 > 1:超负荷运转 多核CPU,load average <= CPU核数 * 0.7 |
* 第二三行:进程和CPU信息
信息 | 含义 |
Tasks:74 total | 进程总数 |
1 running | 正在运行的进程数 |
73 sleeping | 睡眠的进程数 |
0 stopped | 停止的进程数 |
0 zombie | 僵尸状态的进程数 |
Cpu(s):0.0%us | 用户空间占用CPU百分比 |
0.3%sy | 内核空间占用CPU百分比 |
0.0%ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
99.7%id | 空闲CPU百分比 |
0.0%wa | 等待输入输出的CPU时间百分比 |
0.0%hi | 硬件中断占用CPU时间的百分比 |
0.0%si | 软件中断占用CPU时间的百分比 |
* 第四五行:内存信息
* 进程信息
信息 | 含义 |
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 |
系统进程控制工具 - free
# free 命令:显示内存的使用状态
# 各个字段含义:
* 物理内存 FO[2][1] = 1906280KB
* 物理内存中被使用的内存 FO[2][2] = 171396KB
* 可以使用内存 FO[2][3] = 1734884KB
* 等式:FO[2][1] = FO[2][2] + FO[2][3]
* 共享内存 FO[2][4] = 224KB,表示几个进程共享的内存(数据共享)
* 已分配但仍未使用的 buffers 大小 FO[2][5] = 6132KB
* 已分配但仍未使用的 cached 大小 FO[2][6] = 41040KB
* buffer的解释:A buffer is something that has yet to be "written" to dis
* cached的解释:A cache is something that has been "read" from the disk and stored for later use.
* 也就是说,buffer 时用于存放要输出到 disk(块设备)的数据的,而 cache是存放从 disk上读出的数据。二者提高了 I/O性能,并由OS管控
# free命令的所有输出值都是从 /proc/meminfo 中读出的
系统中进程的监控 - ps 命令
# 进程的定义:进程是程序的一次动态执行
# 守护进程的定义:守护进程是在后台运行并提供系统服务的一些进程
# 父进程、子进程的定义:当一个进程创建另一个进程时,第一个进程被称为新进程的父进程,新进程被称为子进程。
# ps 命令的功能:用来显示当前进程的状态
* 例:ps -aux :显示所有的与用户相关的完整信息
pstree命令
# 功能:以树状图显示程序
# 举例:
* 列出PID为4729的进程的进程状态数的命令:pstree 4729
kill 命令
# 功能:把一个信号发送给一个或多个进程,默认发送终止信号
# 举例:
* 杀死 PID为3906的进程的命令:kill -9 3906
pgrep命令
# 功能:通过名称或属性查找进程
# 举例:
* 查找名为 firefox的进程的命令:pgrep firefox
pkill 命令
# 功能:通过名称或其他属性发送信号给进程
# 举例:
* 杀死名为 firefox的进程的命令:pkill firefox
Linux速通06 系统的初始化服务和监控的更多相关文章
- Linux速通 随笔整理
Linux速通 随笔整理 为了方便阅读,特整理了相关的学习笔记 零.大纲 一.系统安装 二.命令格式 三.文件管理 四.用户群组 五.文件处理 六.系统初始化及监控 七.硬盘初始化 八.网络原理
- Linux学习笔记06—系统用户及用户组的管理
一.认识/etc/passwd和/etc/shadow 1./etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 用户名 存放账号的口令:现在存放在/etc/shadow下,在这 ...
- Linux速通 大纲
1.Linux操作系统安装及初始化配置(熟悉) 2.Linux操作系统目录组成结构及文件级增删改查操作(重点) 3.Linux操作系统用户.权限管理(重点) 4.开源软件及Linux下软件包的管理(重 ...
- Linux速通07 硬盘分区、格式化及文件系统管理
硬件设备与文件名的对应关系 # 在Linux系统中,每个设备都被当作一个文件来对待 # 各种设备在Linux中的文件名 设备 设备在Linux内的文件名 IDE硬盘 /dev/hd[a-d] SCSI ...
- Linux速通08 网络原理及基础设置、软件包管理
使用 ifconfig命令来维护网络 # ifconfig 命令:显示所有正在启动的网卡的详细信息或设定系统中网卡的 IP地址 # 应用 ifconfig命令设定网卡的 IP地址: * 例:修改 et ...
- Linux速通01 操作系统安装及简介
操作系统 # a)操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. # 操作系统分为 系统调用接口 和 系统内核 # b)操作系统内核的定义 ...
- Linux速通02 命令格式
命令的格式 # 格式:命令 [选项][参数] * 命令:告诉 Linux操作系统执行什么 * 选项:说明命令运行的方式(可以改变命令的功能).以 "-"字符开始 * 参数:说明命令 ...
- Linux速通03 目录文件的浏览、管理和维护
Linux文件系统的层次结构 # 树状结构:在Linux或Unix操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构. # 目录的定义:目录相当于Windows中的文件夹,目录中存 ...
- Linux速通04 用户、群组、权限
用户及passwd文件 # /etc/passwd文件的功能:存储所有用户的相关信息,实际上是存放用户信息的数据库(database) # 各个字段的含义: * 第一个字段(列)记录的是这个用户的名字 ...
随机推荐
- Codeforces ECR86 C. Yet Another Counting Problem(规律,区间)
题意:给你两个正整数a和b,询问q次,每次给你一个区间[l,r],问[l,r]中有多少数字满足:x%a%b!=a%b%a. 题解:看公式无从下手的题,一般都是要找规律的.首先,我们知道,假如x%a%b ...
- 2019 ICPC Asia Taipei-Hsinchu Regional Problem J Automatic Control Machine (DFS,bitset)
题意:给你\(m\)个长度为\(n\)的二进制数,求最少选多少个使它们\(|\)运算后所有位置均为\(1\),如果不满足条件,则输出\(-1\). 题解:这题\(n\)的范围很大,所以我们先用\(st ...
- 数位dp整理 && 例题HDU - 2089 不要62 && 例题 HDU - 3555 Bomb
数位dp: 数位dp是一种计数用的dp,一般就是要统计一个区间[li,ri]内满足一些条件数的个数.所谓数位dp,字面意思就是在数位上进行dp.数位的含义:一个数有个位.十位.百位.千位......数 ...
- python-零基础入门-自学笔记
目录 第一章:计算机基础 1.1 硬件组成 1.2 操作系统分类 1.3 解释型和编译型介绍 第二章:Python入门 2.1 介绍 2.2 python涉及领域 2.2.1 哪些公司有使用Pytho ...
- woj1002-Genesis woj1003-birthofnoah woj1004-noah's ark
title: woj1002-Genesis date: 2020-03-05 categories: acm tags: [acm,woj] 输入输出考虑一下.easy #include <i ...
- 手工数据结构系列-C语言模拟栈 hdu1022
这个题我一开始是这么想的.. 爆搜所有可能的出栈序列 然后对输入进行匹配 这样我感觉太慢 然后我们可以想到直接通过入栈序列对出栈序列进行匹配 但是我犯了一个错误..那就是出栈序列一定到入栈序列里找.. ...
- js function All In One
js function All In One js ES5 Function & js Arrow Function Object vs Array 花括号 ?对象 , 傻傻分不清 // ar ...
- js type automatic conversion
js type automatic conversion String & Number `255` < 16; false `15` < 16; true `25` < 1 ...
- user tracker with ETag
user tracker with ETag 用户追踪, without cookies clear cache bug 实现原理 HTTP cache hidden iframe 1px image ...
- AMP ⚡️原理
AMP ️原理 AMP 是如何运作的 https://amp.dev/zh_cn/about/how-amp-works/ AMP 瞬时加载 结合了以下优化是 AMP 页面速度之快以至于它们可以瞬时加 ...