[内容] Linux 格式化特点

内容一:格式化后会产生的分区

格式化会格式出 inode 区和 block 区

内容二:inode 区和 block 区的作用

inode 区默认一格大小是 512 个字节,存储哪一份数据存在了哪些 block 里以及数据的所属者、权限创建时间等 metadata 元数据
block 区默认一格大小是 4k,只存储数据本身

内容三:Linux 文件格式的特点

ext3 和 ext4 的 inode 区每一格较小,而 xfs 的 inode 区每一格更大,可以存储更多种类,例如快照等 metadata 元数据

[内容] pip 工具的安装 (MacBook Air 版)

内容一:安装 pip2

1.1 下载 pip2

$ curl 'https://bootstrap.pypa.io/pip/2.7/get-pip.py' > get-pip.py

1.2 安装 pip2

$ sudo python get-pip.py

1.3 删除 pip2

$ rm get-pip.py

1.4 显示安装的 pip2

1.4.1 显示在 python 里有没有 pip 安装包
$ ls /Library/Python/2.7/site-packages/

(补充:这里以 Python 版本是 2.7 为例)

1.4.2 显示有没有 pip2 命令
$ which pip2
1.4.3 升级 pip2
$ sudo pip2 install --upgrade pip

内容二:安装 pip3

2.1 准备安装 pip3 所需的环境

2.1.1 安装 python3
2.1.1.1 输入 python3 命令
$ python3
2.1.1.2 在弹出的对话框里安装 python3

(步骤略)

2.1.2 安装 xcode
2.1.2.1 输入 xcode-select –install 命令
$ xcode-select --install
2.1.2.2 在弹出的对话框里安装 xcode

(步骤略)

2.2 安装 pip3

2.2.1 下载 pip3
$ curl 'https://bootstrap.pypa.io/pip/get-pip.py' > get-pip.py
2.2.2 安装 pip3
$ sudo python get-pip.py
2.2.3 删除 pip3
$ rm get-pip.py
2.2.4 显示安装的 pip3
2.2.4.1 显示在 python 里有没有 pip 安装包
$ ls /Library/Python/3.8/site-packages/

(补充:这里以 Python 版本是 3.8 为例)

2.2.4.2 显示有没有 pip3 命令
$ which pip3
2.2.4.3 升级 pip3
$ sudo pip3 install --upgrade pip

[内容] Linux 官方软件源链接列表 (CentOS Linux 版)

内容一:CentOS 7 基础软件源列表

1.1 CentOS 7 基础软件源官方推荐链接列表

1.1.1 CentOS-7 – Base

http://mirror.centos.org/centos/7/os/x86_64/

1.1.2 CentOS-7 – Updates

http://mirror.centos.org/centos/7/updates/x86_64/

1.1.3 CentOS-7 – Extras

http://mirror.centos.org/centos/7/extras/x86_64/

1.1.4 CentOS-7 – Plus

http://mirror.centos.org/centos/7/centosplus/x86_64/

1.2 CentOS 7 基础软件源官方推荐链接列表

1.2.1 CentOS-7 – Base

http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=$infra

1.2.2 CentOS-7 – Updates

http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates&infra=$infra

1.2.3 CentOS-7 – Extras

http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=extras&infra=$infra

1.2.4 CentOS-7 – Plus

http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=centosplus&infra=$infra

内容二:CentOS 8 基础软件源列表

2.1 CentOS 8 基础软件源官方链接列表

2.1.1 CentOS Linux 8 – BaseOS

http://mirror.centos.org/centos/8/BaseOS/x86_64/os/

2.1.2 CentOS-8 – Updates

http://mirror.centos.org/centos/8/AppStream/x86_64/os/

2.2 CentOS 8 基础软件源官方推荐链接列表

2.2.1 CentOS Linux 8 – BaseOS

http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=BaseOS&infra=$infra

2.2.2 CentOS Linux 8 – AppStream

http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=$infra

[内容] Linux 内存机制

正文:

内容一:Linux 显示内存的命令

# free

或者:

# top

内容二:Linux 内存各项指标和机制

2.1 top 命令显示的 Linux 内存各项指标和机制 (虚拟内存和物理内存之间的机制)

1) VIRT 虚拟内存使用的大小,应用申请的内存量
2) RES 物理内存使用的大小,虚拟内存映射到物理内存的内存量,也就是真实占用的内存量
3) %MEM 物理内存占用总内存的百分比,也就是真实占用的内存比

(
补充:
输入 top 命令以后,在显示的指标中, VIRT 是指虚拟内存占用率,RES 是指物理内存占用率。
应用使用内存时第 1 步会先申请虚拟内存。在拥有了虚拟机内存以后,只有当需要的时候才会将虚拟内存应用到物理内存。而只有当物理内存被应用了以后才会被消耗。
虚拟内存包含所有的代码、数据和已经被换出去的共享库加号页。虚拟内存同时也包含被分配但是还没有被使用的页,处于此状态的页映射到了内核的 “Zero Page” 所以其不会消耗任何内存。
真实内存占用率应该是检查物理内存的占用率。
)

2.2 free 命令显示的 Linux 内存各项指标和机制 (物理内存中 free 指标、buffers 指标、cached 指标和 available 指标之间的机制)

1) total 内存的总大小
2) used 正在被使用的内存大小
3) free 表示完全没有被使用的物理内存大小
4) shared 正在被多个进程共享的内存大小
5) buffers 被内核用作块缓冲区 (buffers) 的大小。这些数据暂时存储在内存中,用于提升系统性能,当再次使用时可以在内存中被快速调用。buffers (buffer page) 代表块设备 (硬盘等设备) 所占用的缓存页,对应从硬盘中直接获取的数据,处于内存和硬盘之间,由内核使用 (当 free 状态的内存不够时,它的部分空间会自动释放出来,我们也可以手动释放出它的部分空间来)
6) cached 被内核用作文件系统缓存 (cache) 的大小。这些数据暂时存储在内存中,用于提升系统性能,当再次使用时可以在内存中被快速调用。cached (cache page) 代表普通文件数据 (硬盘里的数据) 所占用的缓存页,对应 vfs 页缓冲层的数据,处于内存和 CPU (处理器) 之间,由应用程序使用 (当 free 状态的内存不够时,它的部分空间会自动释放出来,我们也可以手动释放出它的部分空间来)
7) available = free + buffers (部分空间) + cached (部分空间),也就是估算出来的真实的内存可使用量

(
补充:释放处于 buffers 和 cached 状态内存的方法

1) 释放 page cache:

# echo 1 > /proc/sys/vm/drop_caches

2) 释放 dentries 和 inodes:

# echo 2 > /proc/sys/vm/drop_caches

3) 同时释放 pagecache、dentries 和 inodes:

# echo 3 > /proc/sys/vm/drop_caches

)

2.3 free 命令的 Mem 行和 Swap 行的机制 (物理内存和 Swap 内存 (交换内存) 之间的机制)

2.3.1 Linux 内存的种类

1) Linux 物理内存:系统的真实内存,速度快 (也就是 free 命令中显示的第 1 行)
2) Linux Swap 内存 (交换内存):使用硬盘作为临时的内存的空间,速度慢 (也就是 free 命令中显示的第 2 行)

2.3.2 Swap 内存 (交换内存) 被使用的条件

1) Linux 内核会周期性把内存中不常调用的匿名页和共享内存交换至 Swap 内存 (交换内存) 里。即使现在 Linux 系统的物理内存有剩余空间
2) 当系统的内存不足时,系统会把匿名页和共享内存交换至 Swap 内存 (交换内存) 里

内容四:查看那些内存可以交换至 Swap 内存 (交换内存) 以及哪些内存可以被释放

# cat /proc/meminfo 
MemTotal:       65185544 kB
MemFree:        42285372 kB
MemAvailable:   57893528 kB
Buffers:            1656 kB
Cached:         16157600 kB
SwapCached:            0 kB
Active:          4505604 kB
Inactive:       17856228 kB
Active(anon):    1859740 kB
Inactive(anon):  4353236 kB
Active(file):    2645864 kB
Inactive(file): 13502992 kB
Unevictable:          16 kB
Mlocked:              16 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Zswap:                 0 kB
Zswapped:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:       6190160 kB
Mapped:           130544 kB
Shmem:             10400 kB
KReclaimable:     100636 kB
Slab:             234788 kB
SReclaimable:     100636 kB
SUnreclaim:       134152 kB
KernelStack:        8096 kB
PageTables:        26504 kB
SecPageTables:       696 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    32592772 kB
Committed_AS:   13920568 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       58476 kB
VmallocChunk:          0 kB
Percpu:            14464 kB
HardwareCorrupted:     0 kB
AnonHugePages:   5797888 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
CmaTotal:              0 kB
CmaFree:               0 kB
Unaccepted:            0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      284800 kB
DirectMap2M:    14784512 kB
DirectMap1G:    51380224 kB

(
补充:
1) Active(anon) 经常被使用的内存
2) Inactive(anon) 没有被经常使用的内存,也是 Linux 系统可以从物理内存交换至交换分区里的内存
3) Active(file) 经常被使用的页缓存内存
4) Inactive(file) 没有被经常使用的页缓存内存,也是 buffers/cached 中可以被系统回收的内存
)

参考文献:

https://access.redhat.com/solutions/296313