LINUX.ORG.RU

Отзывчивость десктопа на Linux относительно других систем

 ,


2

2

Привет!

Я у мамы программист и поэтому чужие люди попросили меня купить ноутбук, хоть я в этом ничего не понимаю. Обнаружилось интересное:

На «микрокомпьютере» c Pentium N5000 1.1 ГГц и sata-диском под Win10 холодный запуск Chrome происходит за ~1 секунду.

На моём десктопе с i3-7100 и raid0 из двух nvme под обычной Ubuntu 18.04 Chromium без дополнений запускается ~3 секунды. У хранилища на этом десктопе полоса больше 1500 МБ/c на случайном доступе и отклик 0,05 мс.

Почему такая разница? Это нормально? Есть ли лучшие практики, как на моём десктопе с Linux в 2019 году получить такую же отзывчивость?

Пруфы в студию

Deleted
()

Я у мамы программист и поэтому чужие люди попросили меня купить ноутбук, хоть я в этом ничего не понимаю.

а если бы попросили подобрать автомобиль на вторичном рынке, тоже бы согласился?

Почему такая разница? Это нормально? Есть ли лучшие практики, как на моём десктопе с Linux в 2019 году получить такую же отзывчивость?

линукс для серверов, винда для игорей

chenbr0
()

Win10 холодный запуск Chrome происходит за ~1 секунду.

Наверное хром во время загрузки винды стартует. Посмотри в процесах, загляни в msconfig.

anonymous
()

это не «отзывчивость десктопа». это скорость загрузки приложений.

под Win10 холодный запуск Chrome происходит за ~1 секунду.
под обычной Ubuntu 18.04 Chromium без дополнений запускается ~3 секунды.

да посрать. вообще не показатели чего-то

Почему такая разница?

а почему браузер не везде хром, например? а почему DE не xfce?

darkenshvein ★★★★★
()

Наверное хром во время загрузки винды стартует. Посмотри в процесах, загляни в msconfig.

Удваиваю этого господина.

А вообще надо сделать минимальные телодвижения для оптимизации.

1. Поменять планировщика i/o. Создаешь правило 60-ssd-sheduler.rules и кладешь в udev_rules с таким содержанием:

ACTION=="add|change",KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0",ATTR{queue/scheduler}="noop"
ACTION=="add|change",KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1",ATTR{queue/scheduler}="cfq"
Для SSD - noop, для обычного - cfq

2. Все временные файлы и кэш в tmpfs Под рукой годного fstab щас нет, можно погуглить но что-то типа того:

tmpfs /tmp     tmpfs defaults,noatime,mode=1777 0 0

3.

sudo gedit /etc/rc.local

mkdir /tmp/chrome
mount -t tmpfs -o size=1024M,mode=0744 tmpfs /tmp/chrome/
chmod 777 /tmp/chrome/ -R

e000xf000h
()
Последнее исправление: e000xf000h (всего исправлений: 3)
Ответ на: комментарий от anonymous

Как там у вас в 2009?

Гораздо лучше чем у вас в 1993.

Оно работает абы как и не считается достоверным.

anonymous

На мнение анона вообще всем покласть, и что дальше?

e000xf000h
()
Ответ на: комментарий от e000xf000h

Гораздо лучше чем у вас в 1993

У нас хотя бы NVMe придумали, а SATA - говно, а не SSD.

На мнение анона вообще всем покласть

Ну окей, можешь верить в чудеса дальше. А то разработчики ядра говорили, что определение rotational работает практически наугад :)

что дальше?

Дальше ты идёшь учить матчасть.

anonymous
()

Мы откуда знаем что в Убунте навертели? Там миллион сервисов может быть запущено.

abbcto
()
Ответ на: комментарий от anonymous

У нас хотя бы NVMe придумали, а SATA - говно, а не SSD.

Идёшь учить матчасть что такое I/O Scheduler https://wiki.debian.org/SSDOptimization

In systems with different drive types you can adjust settings with a udev rule (create /etc/udev/rules.d/60-ssd-scheduler.rules):

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

разработчики ядра говорили,

Какие это мифические разработчики тебе это «говорили» опять влажные фантазии в пубертатном периоде.#facepalm

e000xf000h
()
Последнее исправление: e000xf000h (всего исправлений: 1)
Ответ на: комментарий от emmawatsondtypants

Что улучшит планировщик?

Ну вот как ты думаешь что такое планировщик и для чего он нужен?

Можешь сразу не отвечать, вот тебе вводная.

А здесь ты можешь написать всё что ты думаешь. Уверен Линус оценит твои гениальные познания.

P.S. На дурочка который писал что: - «rotational работает практически наугад :)», можешь не обращать внимания.

e000xf000h
()
Последнее исправление: e000xf000h (всего исправлений: 1)
Ответ на: комментарий от e000xf000h

От того, что планировщики есть в ядре, не значит, мне они нужны. Там много чего есть.

Чем мне поможет планировщик в системе с direct attached storage c 2 × 65535 очередями? Куда ему очередь строить, за хлебушком?

emmawatsondtypants
() автор топика
Ответ на: комментарий от e000xf000h

Идёшь учить матчасть что такое I/O Scheduler

Ты тугой какой-то. На NVMe не работают твои шедулеры, совсем. Да, вообще никак.

мифические разработчики

Ору прост.

anonymous
()
Ответ на: комментарий от greenman

Там люди всё ещё обсуждают prelink, preload и необходимость ssd, я в замешательстве.

emmawatsondtypants
() автор топика
Ответ на: комментарий от emmawatsondtypants

Куда ему очередь строить

Не надо кичиться глупостью, не куда, а как. Как определяется в системе nvme, как storage или как pci bus device?

e000xf000h
()
Ответ на: комментарий от anonymous

На NVMe не работают твои шедулеры, совсем

Они не работают потому что у тебя проблема в твоей голове. Как решить, смотри выше пост.

P.S. Это хорошо что вы такие агрессивные и глупые, у вас нет будущего.
А это значит что некого взять мне на замену, буду работать на сверхвысокой зарплате пока не умру. #thimbsup

e000xf000h
()
Последнее исправление: e000xf000h (всего исправлений: 4)
Ответ на: комментарий от e000xf000h

Пожалуйста, расскажи подробнее, что изменится в системе с добавлением планировщика?

Вот у меня компьютер: LA 0,01; %iowait 0,02; %idle 99,4. Хранилище, как рассказывал, локальное и выдаёт более 1500 МБ в секунду на случайном доступе со средней задержкой 0,05 мс и больше 300k iops.

Я нажимаю на кнопку запуска Chromium и вижу окно через 3 секунды. Strace я запускать не умею, да и разгрести все вызовы такой громадины, как браузер, мне не под силу — куда лезет не знаю.

Вот я включаю noop и что меняется?

emmawatsondtypants
() автор топика

1.

Win10 холодный запуск Chrome
Ubuntu 18.04 Chromium

2. в Win10 Chrome при загрузке запускает сервис обновления, который считывает в память весь хром и зависимые библиотеки.

3. в win10 на фс всё индексируется

Итак, чтобы добиться чистоты сравнения тебе нужно:
1. Взять бинарный chrome от гугла или пересобрать chromium gcc >=8.1 c -march=native -mtune=native
2. Настроить preload и обучить его
3. Настроить индексатор и дать ему отработать. В этом плане всё неоднозначно, но с моей точки зрения единственный вменяемый - tracker, но умеет ли с ним работать хром, не знаю

И вот теперь можно проводить взрослый тест с настройками: автологин и в автозагрузке хром с урлем на ютубный ролик 4к.
Сколько секунд покажет каждая ОС с момента включения до 10й секунды ролика.

bass ★★★★★
()
Последнее исправление: bass (всего исправлений: 1)
Ответ на: комментарий от e000xf000h

Поясните, пожалуйста, как мне включить noop?

 % cat /sys/block/nvme?n1/queue/scheduler 
[none] mq-deadline 
[none] mq-deadline
Такая вот хрень.

anonymous
()

Браузер неавно десктоп.

Deleted
()
Ответ на: комментарий от bass

Какой в этом смысл? И при чём тут «отзывчивость»? Если десктоп отзывчивый, он хуже справляется с нагрузкой, больше времени тратится на паразитную нагрузку и переключения контекста. Лучше когда производительный. А чтобы быстро переключало задачи, понадобятся кэши для всего что генерируется не за тысячные доли секунды. ОС тут совершенно ни при чём.

anonymous
()

На «микрокомпьютере» c Pentium N5000 1.1 ГГц и sata-диском под Win10 холодный запуск Chrome происходит за ~1 секунду.

Не верю.

Im_not_a_robot ★★★★★
()

Не бреши! У самых топовых нвме-шек всё как у зверей из САТА мира :-)) на случайном доступе, хорошо если за 50 на чтение и 150 на запись пробъет - уже, считай, топовая можель.

А Убунту 18.04 хошь на нвме, хошь на сата - в сравнении с вяндой - тормоз.

И да, я её использую... виндовса, на данный момент, всё еще нет :-(((

Deleted
()
Ответ на: комментарий от anonymous

Странно, пишу с нвме диска, с убунты 18.04 и мифы....

Deleted
()

У тебя не Wayland? Что-то наверно с графикой

Сейчас поставил Chromium на Ubuntu 18.04. Первый запуск (создание профиля на диске!) и то значительно быстрее

PS: у меня Opera (тоже на основе Chromium) со snap быстрее запускается на старом уже SSD SATA диске

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 5)

Отзывчивость десктопа на Linux относительно других систем

...зависит от опций, с которыми скомпиляли ядро

Harald ★★★★★
()
Ответ на: комментарий от Deleted

Привет, ID: 36465! Помню я 2007 год на ЛОР, когда уже совсем малахольных регистрировали.

Вот и сейчас ты, наверное, путаешь m.2 диск ahci с nvme.

emmawatsondtypants
() автор топика
Ответ на: комментарий от fornlr

Нет, X11.

За мысль спасибо: с чистыми ./config и .cache запускается мгновенно. А со всем этим багажом тупит.

emmawatsondtypants
() автор топика
Ответ на: комментарий от Deleted

Вот случайная запись маленькими блоками поверх ext4 на lvm на luks на mdraid. Последовательная запись или запись без luks быстрее.

rand-write: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=128
...
fio-3.1
Starting 12 processes
Jobs: 12 (f=12): [w(12)][100.0%][r=0KiB/s,w=1029MiB/s][r=0,w=263k IOPS][eta 00m:00s]
rand-write: (groupid=0, jobs=12): err= 0: pid=28998: Wed Feb 20 22:14:48 2019
  write: IOPS=239k, BW=934MiB/s (980MB/s)(54.8GiB/60003msec)
    slat (nsec): min=1637, max=64974k, avg=20673.45, stdev=327031.96
    clat (usec): min=2, max=103980, avg=6397.36, stdev=4784.03
     lat (usec): min=20, max=103987, avg=6418.15, stdev=4795.59
    clat percentiles (usec):
     |  1.00th=[  529],  5.00th=[  611], 10.00th=[ 1762], 20.00th=[ 3392],
     | 30.00th=[ 4228], 40.00th=[ 4883], 50.00th=[ 5473], 60.00th=[ 6194],
     | 70.00th=[ 7046], 80.00th=[ 8455], 90.00th=[11338], 95.00th=[14615],
     | 99.00th=[25560], 99.50th=[30802], 99.90th=[42730], 99.95th=[47973],
     | 99.99th=[60556]
   bw (  KiB/s): min=44145, max=130296, per=8.35%, avg=79862.01, stdev=10261.40, samples=1440
   iops        : min=11036, max=32574, avg=19965.23, stdev=2565.36, samples=1440
  lat (usec)   : 4=0.01%, 20=0.01%, 50=0.01%, 100=0.01%, 250=0.03%
  lat (usec)   : 500=0.32%, 750=6.06%, 1000=1.07%
  lat (msec)   : 2=3.48%, 4=15.69%, 10=59.67%, 20=11.50%, 50=2.13%
  lat (msec)   : 100=0.04%, 250=0.01%
  cpu          : usr=2.27%, sys=10.65%, ctx=3163145, majf=0, minf=109
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1%
     issued rwt: total=0,14353485,0, short=0,0,0, dropped=0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=128

Run status group 0 (all jobs):
  WRITE: bw=934MiB/s (980MB/s), 934MiB/s-934MiB/s (980MB/s-980MB/s), io=54.8GiB (58.8GB), run=60003-60003msec

Disk stats (read/write):
    dm-2: ios=1/14389178, merge=0/0, ticks=4/63650300, in_queue=63673772, util=99.92%, aggrios=1/14417505, aggrmerge=0/0, aggrticks=4/63753152, aggrin_queue=63816360, aggrutil=99.83%
    dm-0: ios=1/14417505, merge=0/0, ticks=4/63753152, in_queue=63816360, util=99.83%, aggrios=1/14417511, aggrmerge=0/0, aggrticks=0/0, aggrin_queue=0, aggrutil=0.00%
    md127: ios=1/14417511, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=0/7178313, aggrmerge=0/30515, aggrticks=2/220210, aggrin_queue=658152, aggrutil=99.99%
  nvme1n1: ios=0/7174124, merge=0/30634, ticks=0/121456, in_queue=471984, util=99.93%
  nvme0n1: ios=1/7182502, merge=0/30396, ticks=4/318964, in_queue=844320, util=99.99%
emmawatsondtypants
() автор топика

Поставь дебиан 6 и удивись отзывчивости в спавнении с убу 1804

deep-purple ★★★★★
()
Ответ на: комментарий от emmawatsondtypants

маленькими блоками поверх ext4 на lvm на luks на mdraid.

маленький извращенец!

Deleted
()

Ну вот прям 1 секунду. Что-же не милисекунду то?

rumgot ★★★★★
()

Какое-то враньё.

На «микрокомпьютере» c Pentium N5000 *1.1 ГГц и sata-диском под Win10 холодный запуск Chrome происходит за ~1 секунду

Быть такого не может.

i3-7100 и raid0 из двух nvme под обычной Ubuntu 18.04 Chromium без дополнений запускается ~3 секунды

Ещё менее вероятно. У меня на аналогичном конфиге (i3-6300 и 960 Evo) Chrome с 10 расширениями, 5 закреплёнными вкладками и несколькими сохранёнными, на Ubuntu 18.04 запускается приблизительно за 1.5 секунды.

WitcherGeralt ★★
()
Ответ на: комментарий от Deleted

поэтому в стиме около одного процента линукс пользователей и большинство игр запускаются через костыли вайна и протона? зачем линуксу приписывать то, в чем он не силен?

chenbr0
()
Ответ на: комментарий от Deleted

Держи!

[global]
iodepth=128
numjobs=12
bs=4k
direct=1
runtime=60
randrepeat=1
overwrite=0
ioengine=libaio
group_reporting
time_based
norandommap
size=8g
filename=jumbo.file
directory=/my/pretty/nvme/mountpoint
name=nvme_qd128_nj12_bs4k

#[rand-read]
#rw=randread
#stonewall

#[seq-write]
#rw=write
#stonewall

[rand-write]
rw=randwrite
stonewall
emmawatsondtypants
() автор топика

На «микрокомпьютере» c Pentium N5000 1.1 ГГц и sata-диском под Win10 холодный запуск Chrome происходит за ~1 секунду.

Впервые предзагрузку приложений в память узрел? Линукс так тоже может.

Quasar ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.