Подземный стук

Есть у меня MacBook Pro, почти новый, пяти лет еще нету.

И решил я ему сделать подарок на новый год: поапгрейдил память до 8Gb, пока DDR2 совсем из продажи не пропала. Сделал. Где-то в начале декабря.

Пользуюсь я им мало, почти совсем не, поэтому только к середине января заметил, что прошедших до конца бэкапов у меня с 1 декабря и не было. Стал разбираться. Увидел странное:

  • Сразу после включения машинка работает весьма бодро. Первые минут 10 (если ничего не делать, то и дольше).
  • После нескольких гигабайт I/O начинается чертовщина:
    • Полностью или почти полностью исчезает idle time
    • Минимальные программы, вроде top, могут жрать 20-40% CPU
    • Все действия необычайно замедляются, запуск Firefox может минут 20 занимать.
    • Бэкап на time machine - первые 2-6Gb пролетают мухой, что по 1G Ether, что по Wifi, а потом все встает колом и все мои 80Gb бэкапятся больше суток.
Первая гипотеза: перегревается процессор и делает сам себе throttle. Поставил варез, померял, ну греется где-то до 80-85, много, но не запредельно (TjMax у процессора - 100).

Развинтил, действительно термопаста высохла (что не означает, что она не отводила), намазал новой, стало получше, но не сильно. Поставил программу, которая раскручивает вентиляторы, максимальная скорость, температура процессора 40-65, но все равно тормозит.

Тогда я стал грешить на SSD. Я его тоже поапгрейдил вместе с памятью, этот диск работал в десктопе пару лет, претензий не было, но мало ли. Поменял на обычный ноутбучный 120Gb (который и был исходно в этом ноуте) - чертовщина не исчезла.

После этого я вытащил одну планку памяти - и кардинально полегчало. Сейчас буду обратно возвращать SSD.

Вопрос у меня простой: Папа, что это было?

В гугле я вижу некоторое количество таких же несчастных с 8Gb и tooo slloooowwww, но никакого конструктива.

Comments

Возможно ноут как-то не так воспринял конкретный модуль памяти и выставил большие тайминги/маленькую частоту и т.д., причем сразу на оба модуля.
Или вы ставили 2 новых одинаковых модуля по 4 ГБ?

Да, два одинаковых.

Гипотеза про частоты не проходит - первые несколько (десятков) минут компьютер работает как из пушки.

Может модуль битый? Прогнать его чем-нибудь типа memtest86 (правда как это делается на маке - я не знаю, не пробовал :) ). По мере работы компа оперативка постепенно заполняется и доходит до не кондиционного участка?

У меня было ровно это самое на FreeBSD. Модули оказались таки с разными таймингами, хотя продавались как идентичные.

планка памяти греется и начинает плохо работать :-)

Я снял модуль, который ближе к улице, он греется меньше.

Да и потом, "плохо работать" - это же для памяти давать не те значения, что были записаны. Т.е. будут битые файлы, signal 11, sigbus и т.п.

тупо битая память.
http://www.memtest.org/ в помощь

Тупо битая память давала бы signal 11 или sigbus?

а ecc там есть?

есть волшебный метод: протереть контакты памяти ластиком до девственного состояния. часто помогает от глюков памяти.

и если есть осциллограф, можно посмотреть, что творится в цепях питания. может БП подыхает.

железо - необъяснимая штука. тут у меня погорела одна мамка. мемтест сутки работает без проблем, а как только интегрированная видюха переключается в графический режим - всё умирает. а из дискретной видюхи выпаялся и выпал дроссель. а причина - посохли и вздулись конденсаторы.

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

так что быть может всё что угодно. визуальный осмотр мамки может что то дать.

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

Я не скажу за мак и "too slow", но вообще по опыту - и железо, и драйвера умеют чудесато глючить с адресами above 4G, см. например bus_dma(9) на фре. Ну да ты и сам небось встречал не единожды. Паттерн "сначала работает, потом перестаёт" оно хорошо объясняет - сначала у него есть младшие адреса, а потом начинает пытаться лезть наверх, и случается странное.

Ну и память проверь, как уже посоветовали, тоже не вредно.

Слушай, ну битая память не должна/не может давать тормоза. Падать - да. Криво записанные файлы - да.
Но тормозить то с чего?

Может оно всё, шансов просто мало (если в систему, конечно, не встроена какая-нибудь чудесатая обработка MCA). Но это искупается тем, что проверить - просто, забутился с диска и ушёл спать. А глюки с переходом через 32bit при закрытом коде драйверов - это куда нетривиальнее.

Система 64 битная, больше 4Gb на маках сплошь и рядом бывают. Т.е не должно бы ...

да включи ты обыкновенный memtest , наверняка он есть для OS X.
и проверяй память после установки - если прогон в течение нескольких часов дал нормальный результат , то хорошо.

memtest - фигня.
как-то поставил 3-х-вольтовую память в мать с 2.5 вольтами.
Получил фантастические глюки системы.
А memtest почти ничего не показал.
А вот memtester, работающий как обычный процесс,
начинал показывать ошибки почти сразу.

почти ?

"почти" относится ко времени - надо же программе память захапать и хоть чуть-чуть потестить.

переход с 4Gb на 8Gb включает PAE.
возможно, это имеет побочный эффект на драйверы и буфера ввода-вывода.

попробуйте после наступления тормозов отдельно померять производительность сети (iperf), и отдельно - дисковой подсистемы (dd хотя бы).

После вытаскивания какой именно планки буку полегчало?
Случайно не той, которая лежит ближе к матери?

Давеча необъяснимо глючащий паккард был излечен примерно тем же способом. В нижнем слоте планка перегревалась за несколько минут работы и семёрка падала с лютым грохотом. Оставили животине одну планку в верхнем слоте -- живёт.

Которая дальше от материнки и ближе к улице.

Но ничего не падало. Просто невероятно тормозило.

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

Без ECC

Похоже что теория про кэшируемость только первых 4Gb - подтверждается. Еще потестирую маленько - и напишу.

Это звучит как проблема с кешированием памяти. Есть на MacOSX какие-то средства посмотреть конфигурацию MTRR, как memcontrol(8) во FreeBSD ? Когда-то давно очень часто BIOSы забывали правильно сконфигурировать MTRR для страниц выше 4GB.

Да, похоже вы угадали. Ну то есть по поведению в memtest очень похоже.

загрузись с hiren boot cd и почекай память мемтестом
вот прямо на ночь оставь
думаю и вылезет оно наружу

ну ты в любом случае отпишись, что обнаружишь - интересно ведь (хоть и mac-а у меня нет)
мне вот щас бук с семёркой принесли на который sp1 отказывается вставать - тоже ведь незадача ;)

Да, очень похоже на проблемы с MTRR. У меня подобная MTRRR проблема была со старой 8GB dual socket Opteron cистемой и Windows 2003 (x64?) при втыкании GPU с большой памятью (когда я работал в VMware). Большая PCI(x) дырка в физическом адресном пространстве в районе 3.5-4.5 GB сбивала с толку MTRR код в BIOS. W2003 быстро грузилась, но начинала _очень_ тормозить после переключения в конечный графический режим.