[步骤] Linux 虚拟内存 (交换分区) swap 的设置

步骤一:理解 Linux 虚拟内存 (交换分区) swap 使用优先级的设置机制

Linux 的 swappiness 参数用于控制虚拟内存 (交换分区) swap 的使用。
swappiness 参数的默认值是 60,也就是说当物理内存使用率达到 40 时,开始使用虚拟内存 (交换分区) swap。
当 swappiness 参数的值是 0 时,则只有当物理机内存耗尽了以后才会使用虚拟内存 (交换分区) swap。
当 swappiness 参数的值是 100 时,则立刻使用虚拟内存 (交换分区) swap。

步骤二:Linux 虚拟内存 (交换分区) swap 开关的设置

2.1 查看虚拟内存 (交换分区) swap

# swapon -s

2.2 开启虚拟内存 (交换分区) swap

# swapon -a

2.3 关闭虚拟内存 (交换分区) swap

# swapoff -a

2.4 重启虚拟内存 (交换分区) swap

# swapoff -a && swapon -a

步骤三:Linux 虚拟内存 (交换分区) swap 使用优先级的设置

3.1 临时设置虚拟内存 (交换分区) swap 使用优先级的设置

# sysctl -p swappiness=60

或者:

# sysctl vm.swappiness=60

或者:

# echo 60 > /proc/sys/vm/swappiness

(补充:这里以把 swappiness 的值设置成 60 为例)


注意:
1) 临时设置重启后失效
2) 临时设置了以后不会马上生效,只有当系统重新调用内存以后才会生效

3.2 永久设置虚拟内存 (交换分区) swap 使用优先级的设置

3.2.1 修改 /etc/sysctl.conf 文件
# vim /etc/sysctl.conf

添加以下内容:

......
vm.swappiness=60

(补充:这里以把 swappiness 的值设置成 60 为例)

3.2.2 让刚刚修改的 /etc/sysctl.conf 文件生效
# sysctl -p

3.3 查看虚拟内存 (交换分区) swap 使用优先级的设置

3.3.1 通过 /proc/sys/vm/swappiness 文件查看
# cat /proc/sys/vm/swappiness
3.3.2 通过 sysctl vm.swappiness 命令查看
# sysctl vm.swappiness

[步骤] Linux journal 日志的永久存储

正文:

步骤一:理解 journal 日志存储机制

默认情况下,journal 的日志存储在 /run/log/journal,而 /run 目录只是一个临时目录。

将 Storage 参数设置为 persistent 后,journal 的日志将存储在 /var/log/journal,/var/log 则是一个永久的目录。

步骤二:将 journal 日志设置为永久存储

2.1 修改 /etc/systemd/journald.conf 文件

# vi /etc/systemd/journald.conf

将部分内容修改如下:

[Journal]
......
Storage=persistent
......

2.2 重启 systemd-journald 服务

# systemctl restart systemd-journald.service

参考文献:

https://linuxconfig.org/introduction-to-the-systemd-journal

[步骤] SLE supportconfig 命令收集选项的设置

步骤一:supportconfig 的作用理解

supportconfig 是一个 SLE 系统搜集系统整体情况的命令,我们可以选择搜集哪些信息

步骤二:supportconfig 命令收集选项的设置

2.1 创建 /etc/supportconfig.conf 文件

# supportconfig -C

2.2 让 supportconfig 命令不搜集某些信息

# sed -i 's\OPTION_AUDIT=1\OPTION_AUDIT=0\g' /etc/supportconfig.conf

(补充:这里使 supportconfig 命令不搜集 audit 日志为例)

[步骤] Linux 关机前执行脚本

步骤一:创建要被管理的脚本

# vim /root/12456.sh

创建以下内容:

#!/bin/bash
for i in {1..5}
do
echo $i
done

(补充:这里以创建 /etc/root/for.sh 脚本为例)

步骤二:创建 systemctl 的管理文件

# vim /etc/systemd/system/12456.service

创建以下内容:

[Unit]
Description=12345
After=getty@tty1.service display-manager.service plymouth-start.service
Before=systemd-poweroff.service systemd-halt.service
DefaultDependencies=no

[Service]
ExecStart=/root/12456.sh
Type=forking

[Install]
WantedBy=poweroff.target
WantedBy=reboot.target
WantedBy=halt.target

(补充:这里以创建 /etc/systemd/system/12456.service 来管理 ExecStart=/root/12456.sh 为例)

步骤三:加载刚刚创建的 systemctl 管理文件

# systemctl daemon-reload

步骤四:给 systemctl 的管理文件添加执行权限

# chmod u+x /etc/systemd/system/12456.service

步骤五:设置关机前执行脚本

5.1 设置关闭系统前执行此脚本

# ln -s /usr/lib/systemd/system/12456.service /usr/lib/systemd/system/halt.target.wants/

5.2 设置关闭电源前执行此脚本

# ln -s /usr/lib/systemd/system/12456.service /usr/lib/systemd/system/poweroff.target.wants/

5.3 设置重启先执行此脚本

# ln -s /usr/lib/systemd/system/12456.service /usr/lib/systemd/system/reboot.target.wants/

[排错] RHEL 解决使用 yum 命令时卡住

报错代码

# yum update 
Updating Subscription Management repositories.
Unable to read consumer identity

可尝试的解决方法一:修改 /etc/yum/pluginconf.d/subscription-manager.conf 文件

# vim /etc/yum/pluginconf.d/subscription-manager.conf

将以下内容:

......
[main] 
enabled=1
......

修改为:

......
[main] 
enabled=0
......

可尝试的解决方法二:安装对应的 katello-ca-consumer-latest.noarch.rpm 软件包

(步骤略)

(补充:katello-ca-consumer-latest.noarch.rpm 软件包下载自对应的 Red Hat Satellite 服务器,补充链接:Red Hat Satellite client register