AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1196060
Accepted
Soheil Paper
Soheil Paper
Asked: 2019-12-14 23:33:02 +0800 CST2019-12-14 23:33:02 +0800 CST 2019-12-14 23:33:02 +0800 CST

如何摆脱挂起的 Ubuntu 操作系统?

  • 772

我对 Ubuntu 的一个问题是,当我的 PC 超载时,我的 Ubuntu 系统挂起,我试图通过手动打开 CD-ROM 驱动器来强制中断并访问系统监视器以关闭某些任务来让它响应。

在 Windows 中,当这种情况发生时,我通常可以通过按Ctrl++切换到任务管理器来逃避它,这通常Alt会让Del我摆脱挂起的情况。

所以,我想知道:我可以用 Ubuntu 做些什么来摆脱挂起的情况(就像在 Windows 上按Ctrl++ Alt) ?Del

更新:

根据@Grumpy_Old_Man信息请求:

您使用的是什么处理器以及它的使用年限。早期的 Ryzen CPU 存在一个已知问题,它在低负载下挂起。 bugzilla.kernel.org/show_bug.cgi?id=196683

我的 CPU 信息:

$ cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 142
model name  : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping    : 9
microcode   : 0xca
cpu MHz     : 3278.317
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 5808.00
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 142
model name  : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping    : 9
microcode   : 0xca
cpu MHz     : 3274.188
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 5808.00
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 142
model name  : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping    : 9
microcode   : 0xca
cpu MHz     : 3271.793
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 5808.00
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 142
model name  : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping    : 9
microcode   : 0xca
cpu MHz     : 3285.540
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 5808.00
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

还有我的 Ubuntu 信息:

 hostnamectl
   Static hostname: so-notebook
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: 34a2eb65afa64d60a60ed02d972e884d
           Boot ID: 9ee34ad4bff84b908e8719ab83029836
  Operating System: Ubuntu 18.04.3 LTS
            Kernel: Linux 5.0.0-37-generic
      Architecture: x86-64

performance cpu
  • 7 7 个回答
  • 4110 Views

7 个回答

  • Voted
  1. Jörg W Mittag
    2019-12-15T00:41:56+08:002019-12-15T00:41:56+08:00

    侵入性最小的选项是使用Ctrl++Alt切换F3到控制台。

    在控制台中,您可以使用您通常使用的工具(例如top、htop、free)或通过/proc和/sysfs文件系统进行探索来调查正在发生的事情。一旦您的调查确定了罪魁祸首,您就可以采取任何您需要的行动来纠正这种情况。

    例如,如果您有一个失控的进程,您可以尝试SIGTERM使用kill -s TERM <PID>. 如果这不起作用,您可以更加激进并SIGKILL使用kill -s KILL <PID>.

    如果您设置了 SSH 服务器,您还可以通过 SSH 远程登录。但是请注意,如果您的系统出现问题,SSH 可能无法正常工作,例如因为它无法获得足够的 CPU 时间或内存或网络套接字。

    如果您设置了串行控制台,则可以通过串行终端登录。

    如果您无法访问控制台,Linux 内核有一个名为“ Magic SysRqKey ”的功能。

    魔术SysRq键是一种在几乎所有情况下都能引起内核注意的方法(唯一不起作用的主要情况是内核恐慌,这是有道理的:内核已经崩溃,它不能做任何进一步的工作) .

    SysRq您可以通过按住Alt+SysRq并键入一系列全为单个字母的命令来访问 Magic Key 的功能。

    如果您没有单独的SysRq密钥,它通常是PrtScr密钥的替代模式,即使它没有标记。如果您也没有,则必须在键盘或笔记本电脑的手册中查找它。

    请注意,这些键基于它们在美国英语 QWERTY 键盘上的扫描码。换句话说,Linux 不知道你的按键上印的是什么字母,它只关心键盘上按键的位置。如果您有不同的键盘布局,则需要在与美国英语 QWERTY 布局相同的位置使用按键。

    一种常见的命令序列是:

    • r:将键盘从原始模式切换到 XLATE 模式(例如,如果您当前处于 GUI 中,则键盘很可能切换到原始模式,并且在控制台中将无用)。
    • e:SIGTERM向除 PID 1 ( init) 之外的所有进程发送信号。这将很好地要求所有进程自行关闭。
    • …稍等一下,让所有进程有机会有序关闭。
    • i:SIGKILL向除 PID 1 ( init) 之外的所有进程发送信号。这不会很好地要求在上一步之后仍在运行的所有进程立即自杀。
    • … 稍等一会
    • s:sync所有当前挂载的文件系统。这会将页面缓存和块缓存刷新到磁盘。
    • …稍等一下,让 Linux 内核将所有缓存刷新到存储设备,并让存储设备将所有内部缓存刷新到介质;如果您仍然有旧式磁盘活动 LED,请等到活动停止
    • u:umount所有当前挂载的文件系统,或者更确切地说,以只读方式重新挂载所有当前挂载的文件系统。
    • … 稍等一会
    • b:reboot或者o:shutdown

    该序列可以写为 REISUB。一个常见的助记词是“即使系统完全崩溃也要重新启动”。

    • 42
  2. Best Answer
    Sumagna Das
    2019-12-15T03:12:01+08:002019-12-15T03:12:01+08:00

    您可以使用您喜欢的组合键(在本例中为Ctrl+ Alt+ Del)设置在 Ubuntu 中打开系统监视器的快捷方式。

    您可以在“设置”中为自定义组合键设置自定义快捷键(顺便说一下,这些步骤适用于 Ubuntu 18.04):

    1. 转到设置。
    2. 搜索快捷方式(只需开始输入,它就会搜索它)。
    3. 现在,按键盘选项并向下滚动到最后。
    4. 单击+号,将出现一个对话框。
    5. 输入快捷方式的名称,可以是任何你想要的(在这种情况下,你可以写Open System Monitor)。
    6. 键入命令的名称(在本例中为gnome-system-monitor)。
    7. 单击设置快捷方式` 选项,然后按您将用于打开系统监视器的组合键(在这种情况下,在单击选项后同时按Ctrl和Alt)Del。
    8. 最后但并非最不重要的一点是,单击添加,将创建一个自定义快捷方式。

    您可以通过按分配给快捷方式的组合键 ( Ctrl++ Alt)来试用快捷方式。Del

    • 13
  3. SteveInBavaria
    2019-12-15T00:09:32+08:002019-12-15T00:09:32+08:00

    按住SysRq(即) Alt,同时缓慢键入“REISUB”将让您安全地重新启动。“REISUO”将关闭而不是重新启动。Print Screen key

    • 9
  4. endrias
    2019-12-15T01:55:51+08:002019-12-15T01:55:51+08:00

    如果您知道没有响应的程序,请转到 TTY shell ++ CTRL,然后使用以下脚本杀死该程序。复制代码并将其保存为ALTF4exterminate.sh/bin

    #!/bin/bash
    
    userName=$(whoami);
    programName="$1";
    main(){
        pidVar=$(top -n 1 -d 1 -b | grep -i "$programName" | cut -c -6 );
        kill $pidVar >& /dev/null;
        echo "killed all \"$programName\" instances.";
    }
    
    if [ "$userName" == "root" ] ; then main ; else echo "run as root" ; fi;
    

    然后使脚本可执行

    sudo chmod +x /bin/exterminate.sh
    

    并以超级用户身份执行。小心你传递给脚本的参数,因为你无意中可能最终造成比你预想的更多的损害。

    例如,如果故障程序是transmission

    sudo exterminate.sh transmission
    

    会成功的。

    • 5
  5. jpa
    2019-12-16T00:00:46+08:002019-12-16T00:00:46+08:00

    当我的电脑超载时,我的 Ubuntu 系统挂起

    对我来说,这通常意味着内存不足并开始大量交换。

    在这种情况下可以提供帮助的是Alt++SysRq组合F,它命令系统杀死占用最多内存的任务。

    如本问题所述,您必须先启用SysRq密钥。还有一些笔记本电脑需要同时按住键。Fn

    • 5
  6. Aaditya Muley
    2019-12-14T23:37:53+08:002019-12-14T23:37:53+08:00

    按 ctrl+alt+f3 进入 TTY。从那里开始,它将像一个完整的终端体验。键入 reboot/poweroff 并按回车,它应该可以解决您的问题。另一种解决方案是按 ctrl+alt+f1 锁定您的用户并再次输入密码以进入 Ubuntu。

    • 4
  7. Solomon Ucko
    2019-12-15T19:36:07+08:002019-12-15T19:36:07+08:00

    您也许可以使用Ctrl++杀死X 服务器Alt。Backspace

    • 1

相关问题

  • 如何优化 SSD 的操作系统?

  • 如果有空闲 RAM,如何清空交换?

  • 为什么 Flash 应用程序如此缓慢/崩溃?

  • 上网本版电池寿命 - Ubuntu 与 Kubuntu?

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve