В последнее время я заметил, что производительность пользовательского интерфейса в Gnome 3.36.2, по-видимому, снижается с временем безотказной работы.
Наиболее очевидное проявление заключается в том, что со временем оконные анимации имеют задержку и кажутся «липкими». , Сами приложения кажутся незатронутыми. Когда я говорю gnome переключать рабочие пространства, перед анимацией происходит задержка от полсекунды до полной секунды. Это также относится к таким вещам, как нажатие мета-клавиши для отображения всех моих окон или нажатие alt-tab. Кажется, что каждый из них имеет одинаковую задержку.
Я запускаю довольно непримечательную настольную установку с использованием vanilla gnome в Ubuntu 20.04.
Мои исследования по этой проблеме, похоже, указывают на то, что было утечка памяти проблемы в версиях 18.xx ОС, но те, которые якобы были исправлены. Единственное, что я могу сделать на этом этапе, это то, что возникла новая проблема, произошла регрессия, или оригинальное исправление не сработало.
Задержка анимации снижает производительность до такой степени, что мне в конечном итоге приходится перезагружать свою система. Процесс gnome-shell
определенно протекает со временем, так как он начинается около ~ 300 МБ, а если оставить его на день, будет ~ 600 МБ или более.
Что касается моего общего оборудования и номинального состояния моей системы, я Я испытываю эту проблему, даже когда я создаю этот вопрос. Я использую стандартный рабочий стол / vanilla gnome, а не настроенный Ubuntu.
Моя система имеет 32 ГБ ОЗУ, только 6 ГБ из которых используются в настоящее время. Загрузка моего процессора колеблется в пределах 12 vcore до 20% макс. У меня есть RTX 2060 для моего GPU.
По крайней мере, насколько я могу судить, я не вижу проблем с количеством ресурсов, которые сейчас получает gnome-shell. 129
top - 08:52:58 up 16:18, 1 user, load average: 0.75, 0.85, 0.77
Tasks: 494 total, 1 running, 491 sleeping, 0 stopped, 2 zombie
%Cpu(s): 2.9 us, 1.1 sy, 0.0 ni, 95.7 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
MiB Mem : 32029.7 total, 20316.2 free, 5763.1 used, 5950.4 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 25355.6 avail Mem
ls -al ~/.local/share/gnome-shell/extensions
drwxrwxr-x 3 atrauzzi atrauzzi 4096 Apr 20 09:07 .
drwx------ 3 atrauzzi atrauzzi 4096 Jun 9 08:46 ..
ls -al /usr/share/gnome-shell/extensions
drwxr-xr-x 5 root root 4096 Apr 2 10:36 .
drwxr-xr-x 7 root root 4096 Jun 1 15:39 ..
drwxr-xr-x 2 root root 4096 Apr 19 20:24 desktop-icons@csoriano
drwxr-xr-x 3 root root 4096 Apr 2 10:36 ubuntu-appindicators@ubuntu.com
drwxr-xr-x 3 root root 4096 May 30 10:18 ubuntu-dock@ubuntu.com
(ни одно из вышеперечисленных расширений не включено, так как я использую рабочий стол vanilla gnome, не Ubuntu)
sysctl vm.swappiness
vm.swappiness = 60
total used free shared buff/cache available
Mem: 31Gi 5.8Gi 19Gi 570Mi 6.3Gi 24Gi
Swap: 2.0Gi 0B 2.0Gi
*-firmware
description: BIOS
vendor: LENOVO
physical id: 0
version: BVCN11WW(V1.07)
date: 07/04/2019
size: 128KiB
capacity: 10MiB
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: 384KiB
capacity: 384KiB
capabilities: synchronous internal write-back unified
configuration: level=1
*-cache:1
description: L2 cache
physical id: 6
slot: L2 Cache
size: 1536KiB
capacity: 1536KiB
capabilities: synchronous internal write-back unified
configuration: level=2
*-cache:2
description: L3 cache
physical id: 7
slot: L3 Cache
size: 12MiB
capacity: 12MiB
capabilities: synchronous internal write-back unified
configuration: level=3
*-memory
description: System Memory
physical id: 25
slot: System board or motherboard
size: 32GiB
*-bank:0
description: SODIMM DDR4 Synchronous 2667 MHz (0.4 ns)
product: KHX2666C15S4/16G
vendor: Kingston
physical id: 0
serial: C2A812C5
slot: ChannelA-DIMM0
size: 16GiB
width: 64 bits
clock: 2667MHz (0.4ns)
*-bank:1
description: SODIMM DDR4 Synchronous 2667 MHz (0.4 ns)
product: KHX2666C15S4/16G
vendor: Kingston
physical id: 1
serial: C1A82704
slot: ChannelB-DIMM0
size: 16GiB
width: 64 bits
clock: 2667MHz (0.4ns)
*-memory UNCLAIMED
description: RAM memory
product: Cannon Lake PCH Shared SRAM
vendor: Intel Corporation
physical id: 14.2
bus info: pci@0000:00:14.2
version: 10
width: 64 bits
clock: 33MHz (30.3ns)
capabilities: pm bus_master cap_list
configuration: latency=0
resources: iomemory:400-3ff iomemory:400-3ff memory:4022210000-4022211fff memory:4022217000-4022217fff
sudo dmidecode -s bios-version
BVCN11WW(V1.07)
Я не верю, что моя система недостаточно работает или каким-либо образом неправильно настроена, так что эта утечка является результатом моей собственной работы.
Я не ожидаю что это исправит утечку памяти в GNOME, но в любом случае это важная информация.
Lenovo Legion Y740-15IRHg (81UH0000US)
У вас есть BIOS BVCN11WW (V1.07).
Доступен более новый BIOS, BVCN12WW ( V1.08), датированный 2 января 2020 года, и можно загрузить здесь
Примечание : Убедитесь, что у меня есть правильная веб-страница для вашей модели #.
Примечание : Есть хорошие резервные копии перед обновлением BIOS.
Я могу подтвердить, что я также испытываю ту же утечку памяти с gnome-shell
с машина Ryzen 7 и Radion R9. Приблизительно через 2 дня время безотказной работы я могу заметить, с какой задержкой сталкивается ОП. Кроме того, если я сравню память процесса с самого начала, я заметю, что он значительно возрос и продолжает расти.
Временное решение - ALT + F2 + r, но на самом деле они должны это исправить. Особенно если вы работаете на сервере, который постоянно работает.
Редактировать: Похоже, что утечка памяти вызвана анимациями и взаимодействиями gnome-shell
. Так что, если вы делаете что-то вроде постоянного свертывания и разворачивания окна, или продолжаете вызывать и отклонять представление действий, Вы можете видеть, что память gnome-shell
начинает увеличиваться. Может показаться, что он некоторое время колеблется, но в итоге максимальный объем используемой памяти будет медленно увеличиваться и никогда не уменьшаться.
У меня такая же проблема; gnome-shell использует все больше и больше памяти. Замедление анимации и использование памяти впустую.
Поскольку, вероятно, ошибку все равно никто не исправит, я сделал для себя следующее «исправление»:
Разрешить этому скрипту запускаться каждые 15 минут. Когда использование памяти процессом gnome-shell для текущего пользователя превышает процент использования (предел) в 2%, он автоматически перезапустит процесс gnome-shell (без потери какой-либо работы или приложений, это то же самое, что и запуск Alt +F2, а затем R).
#!/bin/sh
logfile=/home/$(whoami)/bin/gnome-auto-restart.log
# memory limit of the gnome-shell-process as a percentage
limit="2.0"
restartShell() {
export DISPLAY=:1
busctl --user call org.gnome.Shell /org/gnome/Shell org.gnome.Shell Eval s 'Meta.restart("Restarting...")' > /dev/null 2>&1
}
mem=$(ps -o pid,user,%mem,command ax|grep -i /usr/bin/gnome-shell |grep -i $(whoami)|sort -b -k3 -r|head -n1|tr -s " "|cut -d" " -f3)
echo "$(date) checking memory usage percentage of gnome-shell ($mem) against $limit" >> $logfile
if awk 'BEGIN {exit !('$mem' >= '$limit')}'; then
echo "$(date) --> limit reached, restarting gnome-shell" >> $logfile
restartShell
else
echo "$(date) --> limit not reached" >> $logfile
fi
Я также перезапускаю gnome-shell каждую ночь, так как моя рабочая станция работает круглосуточно и без выходных. А я думаю перезапустить его в полдень во время обеда...