jsn: (common)
jsn ([personal profile] jsn) wrote2015-11-15 02:06 am

(компьютерное)

За что мы любим ArchLinux: перелез на ноутбуке с 32-битной системы на 64-битную, не просто без переустановки системы, а даже без загрузки с внешнего носителя или чего-нибудь в этом роде. Use these commands, install that, reboot, use those commands, reinstall this, uninstall that, всё. Всё как работало, так и работает, только богомерзкий firefox перестал падать два раза в сутки по out of memory. Раньше он съедал за несколько часов 3GB и падал лицом в салат, а теперь будет, видимо, съедать 8GB. Нехай подавится.

[identity profile] fli.livejournal.com 2015-11-14 11:09 pm (UTC)(link)
я уж думал, без ребута.

[identity profile] jsn.livejournal.com 2015-11-14 11:16 pm (UTC)(link)
В теории возможно, да -- можно, видимо, было всю жизнь жить с 64-битным ядром и 32-битным юзерспейсом, оказывается (но я не знал, и мучился с PAE kernel зачем-то).

[identity profile] dmarck.livejournal.com 2015-11-15 12:19 am (UTC)(link)
... и на относительно серьёзной нагрузке так поступают почти все, кому не надо более 2-3G на процесс

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

[identity profile] jsn.livejournal.com 2015-11-15 12:23 am (UTC)(link)
А почему (поступают)? Меня вот все чморили, что я не перелез под 64 бита сто лет назад. Я, собственно, на серверах какое-то время назад и перелез (исключительно из соображений, что PAE -- колхоз), и не вижу проблем.

[identity profile] dmarck.livejournal.com 2015-11-15 12:27 am (UTC)(link)
Так потому-то и. Ядро чисто 64-битное сильно прямее PAE (как минимум нет bounce buffering, плюс дешёвые 64-битные атомики), а экономия на ширине указателей оправлывает держать нейтивы ли, контейнеры ли на i586

[identity profile] jsn.livejournal.com 2015-11-15 12:53 am (UTC)(link)
А, я-то прочёл как "все на PAE живут", и выразил удивление. Anyway, по-моему, экономия от 32-битного юзерспейса против 64 битного всё ж не зверская, по-моему.

[identity profile] dmarck.livejournal.com 2015-11-15 01:37 am (UTC)(link)
Зависит от паттернов,конешно. Но в среднем -- на удивление немало. Как только ты маллочишь сколь-нибудь внятный массив указателей -- оно и летит. Да тупо по столбцу RES посмотри у двух рядом развёрнутых конейтеров 32 и 64 .

[identity profile] jsn.livejournal.com 2015-11-15 01:56 am (UTC)(link)
Контейнеров у меня нет. Ну вон у меня firefox -- был, наверное, гиг тире полтора к моменту падения, теперь, наверное, полтора за аналогичное время. При этом firefox-то очевидно патологический случай же.

Ну и сама механика: back of the envelope calculations показывают, что если у тебя на 32 битах гиг съеден объектами по 32 байта в среднем, ссылающимися друг на друга, то на 64 гигах это будет ну на 1.3GB, с учётом malloc header overhead etc. Тоже же отчётливо патологический случай при этом.