mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-02-03 23:40:14 +08:00
PRF
@geekpi
This commit is contained in:
parent
023c52b443
commit
d698a0cfe2
@ -1,22 +1,24 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Shutdown Taking Too Long? Here’s How to Investigate and Fix Long Shutdown Time in Linux)
|
||||
[#]: via: (https://itsfoss.com/long-shutdown-linux/)
|
||||
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
|
||||
|
||||
关机时间太长?下面是如何调查和解决 Linux 中关机时间过长的问题
|
||||
关机时间太长的调查和解决的方法
|
||||
======
|
||||
|
||||
_**你的 Linux 系统关机时间太长么?以下是你可以采取的步骤,来找出导致延迟关机的原因并解决这个问题。**_
|
||||
![](https://img.linux.net.cn/data/attachment/album/202009/20/233812o1kd114jzq11lq1l.jpg)
|
||||
|
||||
> 你的 Linux 系统关机时间太长么?以下是你可以采取的步骤,来找出导致延迟关机的原因并解决这个问题。
|
||||
|
||||
我希望你对 [sigterm 和 sigkill][1] 的概念有一点熟悉。
|
||||
|
||||
当你[关闭 Linux 系统][2]时,它会发送 sigterm,并礼貌地要求正在运行的进程停止。有些进程不符合该行为,它们会忽略 sigterm 并继续运行。
|
||||
当你[关闭 Linux 系统][2]时,它会发送终止信号(sigterm),并礼貌地要求正在运行的进程停止。有些进程不符合该行为,它们会忽略终止信号并继续运行。
|
||||
|
||||
这可能会导致关机过程的延迟,因为你的系统会在一个预定义的时间段内等待运行的进程停止。在这个时间段之后,它会发送 kill 信号来强制停止所有剩余的运行进程并关闭系统。
|
||||
这可能会导致关机过程的延迟,因为你的系统会在一个预定义的时间段内等待运行的进程停止。在这个时间段之后,它会发送 `kill` 信号来强制停止所有剩余的运行进程并关闭系统。
|
||||
|
||||
事实上,在某些情况下,你会在黑屏上看到一个类似 “a stop job is running” 的信息。
|
||||
|
||||
@ -25,9 +27,7 @@ _**你的 Linux 系统关机时间太长么?以下是你可以采取的步骤
|
||||
* 检查哪个进程/服务耗时过长,以及你是否能删除或重新配置它,使其正常运行。
|
||||
* 更改系统强制停止运行进程前的默认等待时间。(快速而不优雅的方式)
|
||||
|
||||
|
||||
|
||||
我这里使用的是使用 systemd 的 Ubuntu。这里的命令和步骤适用于任何使用 systemd 的 Linux 发行版(大多数发行版都是这样)。
|
||||
我的操作系统是使用 systemd 的 Ubuntu。这里的命令和步骤适用于任何使用 systemd 的 Linux 发行版(大多数发行版都是这样)。
|
||||
|
||||
![][3]
|
||||
|
||||
@ -39,23 +39,23 @@ _**你的 Linux 系统关机时间太长么?以下是你可以采取的步骤
|
||||
journalctl -rb -1
|
||||
```
|
||||
|
||||
[journalctl 命令][4]能让你读取系统日志。使用选项 “-b -1” 可以过滤最后一次启动会话的日志。使用选项 “-r” 时,日志将按时间倒序显示。
|
||||
[journalctl 命令][4]能让你读取系统日志。使用选项 `-b -1` 可以过滤最后一次启动会话的日志。使用选项 `-r` 时,日志将按时间倒序显示。
|
||||
|
||||
换句话说,“journalctl -rb -1” 命令将显示最后一次关闭 Linux 系统之前的系统日志。这里就是你需要分析 Linux 系统长时间关机问题的地方。
|
||||
换句话说,`journalctl -rb -1` 命令将显示最后一次关闭 Linux 系统之前的系统日志。这里就是你需要分析 Linux 系统长时间关机问题的地方。
|
||||
|
||||
没有 journal 日志?下面是你应该做的。
|
||||
#### 没有 journal 日志?下面是你应该做的。
|
||||
|
||||
如果没有 journal 日志,请确认你的发行版是否使用 systemd。
|
||||
|
||||
即使在一些使用 systemd 的 Linux 发行版上,journal 日志也没有被默认激活。
|
||||
|
||||
请确认 /var/log/journal 是否存在。如果不存在,请创建它:
|
||||
请确认 `/var/log/journal` 是否存在。如果不存在,请创建它:
|
||||
|
||||
```
|
||||
sudo mkdir /var/log/journal
|
||||
```
|
||||
|
||||
你还应该检查 /etc/systemd/journald.conf 文件的内容,并确保 Storage 的值被设置为自动或持久。
|
||||
你还应该检查 `/etc/systemd/journald.conf` 文件的内容,并确保 `Storage` 的值被设置为自动(`auto`)或持久(`persistent`)。
|
||||
|
||||
你是否在日志中发现可疑的东西?是否有一个进程/服务拒绝停止?如果是,调查一下是否可以在没有副作用的情况下删除它,或者是否可以重新配置它。请不要在这里盲目地去删除东西。你应该对这个进程有所了解。
|
||||
|
||||
@ -65,7 +65,7 @@ sudo mkdir /var/log/journal
|
||||
|
||||
如果你想让你的 Linux 系统快速关闭,你可以改变这个等待时间。
|
||||
|
||||
你可以在位于 /etc/systemd/system.conf 的配置文件中找到所有的 systemd 设置。这个文件中应该有很多以 # 开头的行。它们代表了文件中各条目的默认值。
|
||||
你可以在位于 `/etc/systemd/system.conf` 的配置文件中找到所有的 systemd 设置。这个文件中应该有很多以 `#` 开头的行。它们代表了文件中各条目的默认值。
|
||||
|
||||
在开始之前,最好先复制一份原始文件。
|
||||
|
||||
@ -73,7 +73,7 @@ sudo mkdir /var/log/journal
|
||||
sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.orig
|
||||
```
|
||||
|
||||
在这里寻找 DefaultTimeoutStopSec。它可能被设置为 90 秒。
|
||||
在这里寻找 `DefaultTimeoutStopSec`。它可能被设置为 90 秒。
|
||||
|
||||
```
|
||||
#DefaultTimeoutStopSec=90s
|
||||
@ -93,11 +93,11 @@ sudo xdg-open /etc/systemd/system.conf
|
||||
|
||||
![Change Shutdown Time Settings Ubuntu][5]
|
||||
|
||||
不要忘记**删除 DefaultTimeoutStopSec 前的 # 号**。保存文件并重启系统。
|
||||
不要忘记**删除 DefaultTimeoutStopSec 前的 `#` 号**。保存文件并重启系统。
|
||||
|
||||
这将帮助你减少 Linux 系统的关机延迟。
|
||||
|
||||
看门狗问题!
|
||||
#### 看门狗问题!
|
||||
|
||||
Linux 有一个名为看门狗的模块,用于监控某些服务是否在运行。它可以被配置为在系统因软件错误而挂起时自动重启系统。
|
||||
|
||||
@ -109,9 +109,9 @@ Linux 有一个名为看门狗的模块,用于监控某些服务是否在运
|
||||
ps -af | grep watch*
|
||||
```
|
||||
|
||||
如果你的系统正在运行看门狗,你可以在 systemd 配置文件 /etc/systemd/system.conf 中将 ShutdownWatchdogSec的 值从 10 分钟改为更低的值。
|
||||
如果你的系统正在运行看门狗,你可以在 systemd 配置文件 `/etc/systemd/system.conf` 中将 `ShutdownWatchdogSec` 的值从 10 分钟改为更低的值。
|
||||
|
||||
**你能解决关机时间过长的问题吗?**
|
||||
### 你能解决关机时间过长的问题吗?
|
||||
|
||||
希望本教程能帮助你解决系统长时间关机的问题。如果你成功解决了这个问题,请在评论中告诉我。
|
||||
|
||||
@ -122,7 +122,7 @@ via: https://itsfoss.com/long-shutdown-linux/
|
||||
作者:[Abhishek Prakash][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user