自己的 Python 应用程序 + 其他应用程序导致系统冻结 - 从哪里开始搜索问题?

自己的 Python 应用程序 + 其他应用程序导致系统冻结 - 从哪里开始搜索问题?

我用 Python 编写了一个长时间运行(数小时/数天)的应用程序,它占用一个核心的 100% CPU 和大约 1GB 的 RAM - 正如预期的那样。(根据 htop 的负载约为 1)

通常,在运行过程中我不会过多使用Kubuntu 19.04HP 笔记本电脑 ( )。i5 7200, 2.5GHz, 8GB RAM, SSD

偶尔,我需要使用它,并注意到负载猛增至 20、30 甚至更高。系统变得非常不响应 - 通常鼠标移动缓慢,但我无法点击任何东西。有时,负载下降,我可以关闭其他软件。有时我需要在等待 10 - 30 分钟的高负载/无响应系统/尖叫的 CPU 风扇后关闭笔记本电脑。

我的印象是,我的程序 + Atom 和/或我的程序 + Chromium 的组合导致了高负载。

根据 Google 的说法,鼠标速度慢似乎是个问题 - 主要与游戏/图形适配器/驱动程序等有关。结果似乎没有涵盖我的情况。

我应该从哪里开始挖掘?

我看到的是这个:

1 月 18 日 05:19:37 hpn-HP-Notebook systemd-udevd[468]: 0003:275D:0BA6.0022: Worker [7254] 处理 SEQNUM=18942 需要很长时间

/var/log/syslog几次。我在笔记本电脑上运行 mongodb 和 Apache(全部都是开发环境 - 没有 http 流量,并且我在程序中将 mongodb 请求保持在非常低的水平,并且仅使用批量写入)

一切顺利时的详细信息如下(Python + Chromium + Atom + LibreOffice Calc)

free -h (before starting Python program, with Chromium and Atom running)
              total        used        free      shared  buff/cache   available
Mem:          7.7Gi       4.4Gi       213Mi       590Mi       3.1Gi       2.5Gi
Swap:         2.0Gi        12Mi       2.0Gi

free -h (after starting Python program, with Chromium and Atom running)
              total        used        free      shared  buff/cache   available
Mem:          7.7Gi       5.6Gi       729Mi       645Mi       1.4Gi       1.2Gi
Swap:         2.0Gi       148Mi       1.9Gi

sudo lshw -C memory
  *-firmware                
       description: BIOS
       vendor: Insyde
       physical id: 0
       version: F.21
       date: 10/27/2016
       size: 128KiB
       capacity: 6080KiB
       capabilities: pci upgrade shadowing cdboot bootselect edd int13floppynec int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int9keyboard int10video acpi usb biosbootspecification uefi
  *-cache:0
       description: L1 cache
       physical id: 5
       slot: L1 Cache
       size: 128KiB
       capacity: 128KiB
       capabilities: synchronous internal write-back unified
       configuration: level=1
  *-cache:1
       description: L2 cache
       physical id: 6
       slot: L2 Cache
       size: 512KiB
       capacity: 512KiB
       capabilities: synchronous internal write-back unified
       configuration: level=2
  *-cache:2
       description: L3 cache
       physical id: 7
       slot: L3 Cache
       size: 3MiB
       capacity: 3MiB
       capabilities: synchronous internal write-back unified
       configuration: level=3
  *-memory
       description: System Memory
       physical id: 26
       slot: System board or motherboard
       size: 8GiB
     *-bank:0
          description: SODIMM DDR Synchronous [empty]
          physical id: 0
          slot: Bottom-slot 1(left)
     *-bank:1
          description: SODIMM DDR4 Synchronous 2133 MHz (0.5 ns)
          product: M471A1K43CB1-CRC
          vendor: Samsung
          physical id: 1
          serial: 3491FD06
          slot: Bottom-slot 2(right)
          size: 8GiB
          width: 64 bits
          clock: 2133MHz (0.5ns)
  *-memory UNCLAIMED
       description: Memory controller
       product: Sunrise Point-LP PMC
       vendor: Intel Corporation
       physical id: 1f.2
       bus info: pci@0000:00:1f.2
       version: 21
       width: 32 bits
       clock: 33MHz (30.3ns)
       capabilities: bus_master
       configuration: latency=0
       resources: memory:c142c000-c142ffff

编辑:HP 笔记本 - 15-ay143tx

答案1

调换曲调...

我们会尝试通过以下方式暂时微调您的系统:

sudo sysctl vm.swappiness=80

由于只有 8G RAM,这将迫使系统使用更多的交换。

更新 BIOS...

HP 笔记本 15-ay143tx

您的 BIOS 目前为 F.21

按照此网页,当前 BIOS 为 F.48,从 2020 年 1 月 10 日起。

  • 下载更新
  • 备份重要文件
  • 安装较新的 BIOS

更新#1:

自从调整 vm.swappiness 以来,我们看到系统性能有所改善,因此我们将使用这些命令使其永久生效...

sudo sysctl -w vm.swappiness=80

sudo sysctl -p

最终,更多的 RAM 和更多的 SWAP 将带来进一步的改进。

相关内容