我用 Python 编写了一个长时间运行(数小时/数天)的应用程序,它占用一个核心的 100% CPU 和大约 1GB 的 RAM - 正如预期的那样。(根据 htop 的负载约为 1)
通常,在运行过程中我不会过多使用Kubuntu 19.04
HP 笔记本电脑 ( )。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 将带来进一步的改进。