[Solved] ubuntu 近半年來隨機的開機凍結的元兇? [論壇 - Ubuntu基本設定]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 (2) 3 »


回覆: ubuntu 近半年來隨機的開機凍結的元兇?
會員三級
註冊日期:
2011/7/9 13:27
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 201
MP : 33 / 4922
EXP: 5
離線
m940504 寫到:
原來不只我有此情況
我原本也以為是硬體有問題

但我並不是使用Intel內顯,我的主機板內顯是Integrated ATI Radeon HD 3000 GPU



從 bugs.launchpad.net/ubuntu/ 和 askubuntu.com上的資訊來看,目前大概可以歸納出幾點…

一、與是否用 intel 內顯、nvidia獨顯、amd獨顯 無特定關聯(都可能中獎)

二、從內核 4.1x~5.x 都有災情傳出(非限定於某特定版本kernel)

共通點是 ubuntu kernel + 特定版本的 intel-microcode。

如果換用 非ubuntu 的kernel,則不會出問題。

askubuntu跟bugs.launchpad.net/ubuntu/ 上有網友懷疑是ubuntu版本的kernel在載入microcode的過程中出了問題(因為換了非ubuntu的kernel狀況就解除了…)

***

目前bugs.launchpad.net/ubuntu/上推薦的workaround之一是把intel microcode hold 在20180312這個版本,在這之後的版本似乎搭配ubuntu kernel都有災情。

回想起來,確實從去年下半年開始,就陸陸續續出現了開機凍結的狀況…

6/2 17:34:54
應用擴展 工具箱
回覆: ubuntu 近半年來隨機的開機凍結的元兇?
會員三級
註冊日期:
2011/7/9 13:27
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 201
MP : 33 / 4922
EXP: 5
離線
m940504 寫到:
原來不只我有此情況
我原本也以為是硬體有問題

但我並不是使用Intel內顯,我的主機板內顯是Integrated ATI Radeon HD 3000 GPU


有可能是GDM3+Wayland 的問題 (I、N、A社 都有用戶遇上,GDM由於Wayland無法載入執行的問題…)

可以試試看編輯 /etc/gdm3/custom.conf

把 #WaylandEnable=false 改成 WaylandEnable=false 然後 Reboot

:)

ps.

這問題「理論上」在gdm3 3.33.90-1ubuntu1 修好了

* Should fix Wayland to Xorg fallback on slow machines (LP: #1798790)

https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1798790/comments/63

9/27 15:02:50
應用擴展 工具箱
回覆: ubuntu 近半年來隨機的開機凍結的元兇?
會員三級
註冊日期:
2011/7/9 13:27
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 201
MP : 33 / 4922
EXP: 5
離線
早上開機登入的時候又hang在logo跑馬燈畫面…Orz


把journal叫出來看了下

====== 前一次開機 ======

mmx@ubuntu:~/temp$ journalctl -rb -1 |grep -i i965

9月 30 10:03:06 mmx /usr/lib/gdm3/gdm-x-session[1222]: i965_dri.so does not support the 0xffffffff PCI ID.


====== 這次(正常)開機 ======

mmx@ubuntu:~/temp$ journalctl -rb 0 |grep -i i965

9月 30 10:17:32 mmx /usr/lib/gdm3/gdm-x-session[1487]: (II) AIGLX: Loaded and initialized i965
9月 30 10:17:32 mmx /usr/lib/gdm3/gdm-x-session[1487]: (II) modeset(0): [DRI2] VDPAU driver: i965
9月 30 10:17:32 mmx /usr/lib/gdm3/gdm-x-session[1487]: (II) modeset(0): [DRI2] DRI driver: i965
9月 30 10:14:22 mmx /usr/lib/gdm3/gdm-x-session[1165]: (II) AIGLX: Loaded and initialized i965
9月 30 10:14:22 mmx /usr/lib/gdm3/gdm-x-session[1165]: (II) modeset(0): [DRI2] VDPAU driver: i965
9月 30 10:14:22 mmx /usr/lib/gdm3/gdm-x-session[1165]: (II) modeset(0): [DRI2] DRI driver: i965

=============

上次開機時,無法進到登入畫面,好像就是卡在

/usr/lib/gdm3/gdm-x-session[1222]: i965_dri.so does not support the 0xffffffff PCI ID.

這行…


查閱過去的開機紀錄,開機卡住的時候好像都卡在i965_dri.so

在硬體跟軟體(kernel、packages)都沒更動的狀況下,這問題是隨機性的出現…

看來只能等等看19.10有沒有修正這方面的問題了…

T_T

9/30 11:12:30
應用擴展 工具箱
回覆: ubuntu 近半年來隨機的開機凍結的元兇?
會員二級
註冊日期:
2017/3/23 10:15
所屬群組:
已註冊使用者
等級: 8
HP : 0 / 190
MP : 31 / 1484
EXP: 62
離線
那近半年來 你有做交叉測試嗎?

換個發行版系統 換個桌面 等等...

很顯然沒有 ˇˇ

你的上一次開機紀錄已經給你很明確的答案了
i965_dri.so does not support the 0xffffffff PCI ID.

就 五ㄅㄨㄣ兔 編譯的 Intel 驅動有問題抓不到顯示卡的裝置ID,問題可能來自很多地方
最有可能的還是核心問題。每個發行版打的補丁都不一樣,五ㄅㄨㄣ兔 我一直都覺得很 ㄌㄡ

五ㄅㄨㄣ兔 大家都說小毛病很多,不知道你還在堅持什麼 ˇˇ 等它修復?
你沒打電話給它,它會幫你修嗎??

10/4 13:14:23
應用擴展 工具箱
回覆: ubuntu 近半年來隨機的開機凍結的元兇?
會員三級
註冊日期:
2011/7/9 13:27
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 201
MP : 33 / 4922
EXP: 5
離線
呆丸廖添丁 寫到:
那近半年來 你有做交叉測試嗎?

換個發行版系統 換個桌面 等等...

很顯然沒有 ˇˇ


你怎麼知道我沒有呢?

在一個ubnutu的論壇/討論區 討論的當然是ubuntu的相關問題,不是嗎?

別的發行版也有別的問題,別的DE一樣也有其他方面的問題

沒有一個發行版或DE是完美沒問題的,

探討問題,看看有沒有解決的方式,這是第一步該做的不是嗎?

而不是 這個發行版遇上問題就跳個發行版,那個DE遇上問題就換個DE…

這樣的話,一年到頭都在換行版跟DE了…Orz


呆丸廖添丁 寫到:
最有可能的還是核心問題。每個發行版打的補丁都不一樣,五ㄅㄨㄣ兔 我一直都覺得很 ㄌㄡ

五ㄅㄨㄣ兔 大家都說小毛病很多,不知道你還在堅持什麼 ˇˇ 等它修復?
你沒打電話給它,它會幫你修嗎??


覺得ubuntu很low?

那麼請問哪個發行版才是「不low」的呢?

10/4 14:43:39
應用擴展 工具箱
回覆: ubuntu 近半年來隨機的開機凍結的元兇?
會員二級
註冊日期:
2017/3/23 10:15
所屬群組:
已註冊使用者
等級: 8
HP : 0 / 190
MP : 31 / 1484
EXP: 62
離線
這邊有些人都改行用 Debian 系列了,雖然長得很像,都是 apt,但是補釘根本不一樣 ˇˇ

Linux mint 也可以試看看,它偶爾會幫五ㄅㄨㄣ兔修一些 bug,但核心應該不會修

老實說我在 Linux 上從沒碰過凍結問題,因為我從來不用 gnome3 的桌面。

碰到凍結的只有在黑蘋果上面硬開 QE/CI 才知道顯示卡有驅動不支援就會凍結的問題。

LXDE、XFCE、METE... 有試過嗎?


你這個問題 GNOME3 的桌面出現很多,我的直覺懷疑 就是...
1. GNOME3
2. Mesa
3. Kernel

i965_dri.so 那是 mesa 的套件 訊息追蹤

mesa-19.0.2/src/intel/dev/gen_device_info.c

bool
gen_get_device_info(int devid, struct gen_device_info *devinfo)
{
switch (devid) {
#undef CHIPSET
#define CHIPSET(id, family, name) \
case id: *devinfo = gen_device_info_##family; break;
#include "pci_ids/i965_pci_ids.h"
default:
fprintf(stderr, "i965_dri.so does not support the 0x%x PCI ID.\n", devid);
return false;
}

就是 Mesa 找不到顯示卡的裝置ID,不給你圖形加速,然後掛起凍結。

那可能是出在 Mesa 本身沒有內建你的顯示卡裝置ID 給你支援加速。

那看到 0xffffffff PCI ID. 就知道是核心給MESA說你的顯示卡ID是 0xffffffff 導致MESA 不給你加速,然後掛起凍結


所以我就說了 應該是核心問題 我已經跟你說了 五ㄅㄨㄣ兔真的很low

所以才叫你換個發行版交叉測試,如果別的發行版一樣掛起凍結,那你就不是要找五ㄅㄨㄣ兔了,可能要去跟林納斯抗議,叫他的核心加入你的顯示卡ID 支援你的顯示卡

那你一直堅持五ㄅㄨㄣ兔,所以還是在原地踏步。

10/4 20:17:12
應用擴展 工具箱
回覆: [Solved] ubuntu 近半年來隨機的開機凍結的元兇?
會員三級
註冊日期:
2011/7/9 13:27
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 201
MP : 33 / 4922
EXP: 5
離線
# /tmp 掛在tmpfs的issue

# 在SSD上不會發生,只會發生在傳統硬碟上


藉著安裝19.10,仔細紀錄每項步驟,並且重開機測試…

總算抓到問題了…

把/tmp掛在tmpfs以後,日誌會有訊息,內容大意是"/tmp不是空的,不過還是強行掛載了…"

然後…系統就有很高的機率出現不顯示登入畫面,鍵盤無反應(或是鍵盤有反應,可以切換到文字訊息,顯示 a statr job is holding......)

看來問題是出在,systemd起始了一堆程序,在/tmp還沒有掛到tmpfs以前,就已經有其他程序寫入了一些資料到/tmp了…

等/tmp一掛到tmpfs以後,/tmp等同是被清空了,先前一些用到/tmp的job跑到一半就掛在那邊了…Orz

修改fstab,把/tmp掛載到tmpfs那行拿掉以後,目前兩台PC都已經正常了…

PS.第三台PC裝了SSD,過去一年同樣的問題從來不會在PC 3上重現(三台pc用的都是同一個clonezilla備份的映像檔)

去挖了這台的日誌來看,上面提到的"/tmp is not empty..."從來沒出現過,
個人的推測是,SSD的4K IOPS快了傳統硬碟接近百倍,這種情況下,/tmp很早就完成了掛載tmpfs這個動作,所以不會影響到其他使用到/tmp的程序…

10/22 11:05:26
應用擴展 工具箱
回覆: [Solved] ubuntu 近半年來隨機的開機凍結的元兇?
會員五級
註冊日期:
2009/10/29 4:50
所屬群組:
已註冊使用者
等級: 41
HP : 201 / 1009
MP : 898 / 29678
EXP: 37
離線
MMX 寫到:
# /tmp 掛在tmpfs的issue

# 在SSD上不會發生,只會發生在傳統硬碟上


藉著安裝19.10,仔細紀錄每項步驟,並且重開機測試…

總算抓到問題了…

把/tmp掛在tmpfs以後,日誌會有訊息,內容大意是"/tmp不是空的,不過還是強行掛載了…"

然後…系統就有很高的機率出現不顯示登入畫面,鍵盤無反應(或是鍵盤有反應,可以切換到文字訊息,顯示 a statr job is holding......)

看來問題是出在,systemd起始了一堆程序,在/tmp還沒有掛到tmpfs以前,就已經有其他程序寫入了一些資料到/tmp了…

等/tmp一掛到tmpfs以後,/tmp等同是被清空了,先前一些用到/tmp的job跑到一半就掛在那邊了…Orz

修改fstab,把/tmp掛載到tmpfs那行拿掉以後,目前兩台PC都已經正常了…

PS.第三台PC裝了SSD,過去一年同樣的問題從來不會在PC 3上重現(三台pc用的都是同一個clonezilla備份的映像檔)

去挖了這台的日誌來看,上面提到的"/tmp is not empty..."從來沒出現過,
個人的推測是,SSD的4K IOPS快了傳統硬碟接近百倍,這種情況下,/tmp很早就完成了掛載tmpfs這個動作,所以不會影響到其他使用到/tmp的程序…


這似乎也跟核心有關(?),4.15.0核心好像沒這問題。(不是很確定)

10/22 12:50:29
應用擴展 工具箱
回覆: [Solved] ubuntu 近半年來隨機的開機凍結的元兇?
會員三級
註冊日期:
2011/7/9 13:27
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 201
MP : 33 / 4922
EXP: 5
離線
Xenomorph0525 寫到:

這似乎也跟核心有關(?),4.15.0核心好像沒這問題。(不是很確定)


的確在早期版本的kernel上沒出現這問題,
把/tmp掛在tmpfs也好幾年了,
都沒出過問題…

翻遍了ubuntu、fedora、arch的wiki跟討論區也沒看到這類/tmp的issue

所以一直到最近新灌了19.10才挖到問題(汗)

10/22 17:02:51
應用擴展 工具箱
回覆: [Solved] ubuntu 近半年來隨機的開機凍結的元兇?
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 35
HP : 170 / 851
MP : 582 / 18871
EXP: 7
離線
MMX 寫到:
# /tmp 掛在tmpfs的issue

# 在SSD上不會發生,只會發生在傳統硬碟上


藉著安裝19.10,仔細紀錄每項步驟,並且重開機測試…

總算抓到問題了…

把/tmp掛在tmpfs以後,日誌會有訊息,內容大意是"/tmp不是空的,不過還是強行掛載了…"

然後…系統就有很高的機率出現不顯示登入畫面,鍵盤無反應(或是鍵盤有反應,可以切換到文字訊息,顯示 a statr job is holding......)

看來問題是出在,systemd起始了一堆程序,在/tmp還沒有掛到tmpfs以前,就已經有其他程序寫入了一些資料到/tmp了…

等/tmp一掛到tmpfs以後,/tmp等同是被清空了,先前一些用到/tmp的job跑到一半就掛在那邊了…Orz

修改fstab,把/tmp掛載到tmpfs那行拿掉以後,目前兩台PC都已經正常了…

PS.第三台PC裝了SSD,過去一年同樣的問題從來不會在PC 3上重現(三台pc用的都是同一個clonezilla備份的映像檔)

去挖了這台的日誌來看,上面提到的"/tmp is not empty..."從來沒出現過,
個人的推測是,SSD的4K IOPS快了傳統硬碟接近百倍,這種情況下,/tmp很早就完成了掛載tmpfs這個動作,所以不會影響到其他使用到/tmp的程序…



關於您提到的問題,雖然我不清楚發生狀況的癥結點在那,

我去翻了之前參與的一篇討論「關於設定Debian Jessie /etc/default/tmpfs遇到的狀況」,

我初步的想法,若是採用「修改fstab」的方式去設定會發生狀況,

建議可以改用「該篇回覆#32」的方法,透過「systemd」的方式去設定,

然後您再測測看,看看情況是否有改善,而不再發生您原本提到的問題。

以下是設定的參考步驟,測試的環境是「Ubuntu 18.04」。

================================================================================

## 複製「tmp.mount」

執行下面指令,將「/usr/share/systemd/tmp.mount」這個檔案,複製到「/etc/systemd/system/tmp.mount」。


$ sudo cp /usr/share/systemd/tmp.mount /etc/systemd/system/



注意,在「Ubuntu 18.04」,「tmp.mount」是放在「/usr/share/systemd/tmp.mount」這個路徑,

若是找不到,可以嘗試執行「$ apt-file search tmp.mount」來找尋,會顯示「systemd: /usr/share/systemd/tmp.mount」。

表示「/usr/share/systemd/tmp.mount」是來自於「systemd」這個「Package」。

所以可以執行「$ dpkg -L systemd | grep tmp.mount」,會顯示「/usr/share/systemd/tmp.mount」。

================================================================================

## 確認「tmp.mount」

接著執行下面指令


$ systemctl list-unit-files tmp.mount



顯示


UNIT FILE STATE
tmp.mount disabled

1 unit files listed.



================================================================================

## 啟用「tmp.mount」

執行下面指令


$ sudo systemctl enable tmp.mount



顯示


Created symlink /etc/systemd/system/local-fs.target.wants/tmp.mount → /etc/systemd/system/tmp.mount.



================================================================================

## 啟動「tmp.mount」

執行下面指令


$ sudo systemctl start tmp.mount



================================================================================

## 觀看「tmp.mount」目前的狀態

執行下面指令


$ systemctl status tmp.mount



顯示


● tmp.mount - Temporary Directory (/tmp)
   Loaded: loaded (/etc/systemd/system/tmp.mount; enabled; vendor preset: enabled)
   Active: active (mounted) since Tue 2019-10-22 19:12:39 CST; 27min ago
    Where: /tmp
     What: tmpfs
     Docs: man:hier(7)
           https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
  Process: 614 ExecMount=/bin/mount tmpfs /tmp -t tmpfs -o mode=1777,strictatime,nosuid,nodev (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/tmp.mount

Oct 22 19:12:39 work systemd[1]: tmp.mount: Directory /tmp to mount over is not empty, mounting anyway.
Oct 22 19:12:39 work systemd[1]: Mounting Temporary Directory (/tmp)...
Oct 22 19:12:39 work systemd[1]: Mounted Temporary Directory (/tmp).




================================================================================

## 確認掛載情形

執行下面指令


$ df -h | grep '/tmp'



顯示


tmpfs           3.9G  412K  3.9G   1% /tmp




執行下面指令


$ mount | grep '/tmp'



顯示


tmpfs on /tmp type tmpfs (rw,nosuid,nodev)



================================================================================

若要更改大小,就要修改「/etc/systemd/system/tmp.mount」的設定

執行下面指令,觀看「/etc/systemd/system/tmp.mount」原本的內容,
(或是也可以執行「$ systemctl cat tmp.mount」)


$ cat /etc/systemd/system/tmp.mount



顯示


#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Temporary Directory (/tmp)
Documentation=man:hier(7)
Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
ConditionPathIsSymbolicLink=!/tmp
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
After=swap.target

[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs
Options=mode=1777,strictatime,nosuid,nodev

[Install]
WantedBy=local-fs.target




其中原本有一行


Options=mode=1777,strictatime,nosuid,nodev



請改成


Options=size=2G,mode=1777,strictatime,nosuid,nodev



================================================================================

重開機後

執行下面指令


$ df -h | grep '/tmp'



顯示


tmpfs           2.0G     0  2.0G   0% /tmp




================================================================================

## 停用「tmp.mount」

若要停用「tmp.mount」,執行下面指令


$ sudo systemctl disable tmp.mount



顯示


Removed /etc/systemd/system/local-fs.target.wants/tmp.mount.



================================================================================

* $ man systemd.mount
* $ man systemd.unit
* $ man systemd-fstab-generator
* $ man systemctl
* Debian Wiki / systemd
* Arch Wiki / Systemd / Using units
* API File Systems


* Wikipedia / tmpfs (中文)
* Arch Wiki / tmpfs
* $ man tmpfiles.d
* $ man systemd-tmpfiles

================================================================================

以上提供參考,報告完畢


10/22 20:09:00
應用擴展 工具箱

« 1 (2) 3 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.