[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/linux/bus-error":3,"mdc--baueii-key":1182,"mdc-ane0sr-key":1192,"mdc-r51cgy-key":1200,"mdc-1o1mle-key":1208,"mdc--fh51sp-key":1216,"mdc--lziw5l-key":1224,"mdc-26h2gz-key":1232,"related-/errors/linux/segmentation-fault,/guides/linux/memory-test,/errors/linux/io-error":1240},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":1120,"code":31,"createdAt":1121,"description":1122,"difficulty":1123,"draft":1124,"estimatedTime":1125,"extension":1126,"faq":1127,"howToSteps":1137,"howToTotalTime":1150,"image":1120,"keywords":1151,"locale":1160,"meta":1161,"navigation":1162,"path":1163,"platform":1164,"related":1165,"section":1169,"seo":1170,"severity":1171,"stem":1172,"summary":1173,"tags":1174,"twitterCreator":1120,"twitterSite":1120,"type":1180,"updatedAt":1121,"__hash__":1181},"content_ru/errors/linux/bus-error.md","Bus Error в Linux: причины и способы исправления",[7,8,9,10],"Ubuntu 22.04+","CentOS 8+","Debian 11+","Raspberry Pi OS","FixPedia Team",{"type":13,"value":14,"toc":1111},"minimark",[15,20,40,69,76,86,89,95,122,125,129,203,205,209,215,340,342,346,352,505,508,510,514,522,797,799,803,806,951,953,957,1107],[16,17,19],"h2",{"id":18},"что-означает-ошибка-bus-error","Что означает ошибка Bus Error",[21,22,23,27,28,32,33,36,37,39],"p",{},[24,25,26],"strong",{},"Bus Error"," (сигнал ",[29,30,31],"code",{},"SIGBUS",") — это ошибка, которую система отправляет процессу при попытке некорректного доступа к физической памяти. В отличие от Segmentation Fault (",[29,34,35],{},"SIGSEGV","), который связан с виртуальной адресацией, ",[29,38,31],{}," обычно указывает на:",[41,42,43,51,57,63],"ul",{},[44,45,46,47,50],"li",{},"Нарушение ",[24,48,49],{},"выравнивания"," данных (например, попытка чтения 4-байтового значения по невыровненному адресу на некоторых архитектурах, таких как SPARC или старые ARM).",[44,52,53,56],{},[24,54,55],{},"Аппаратные сбои"," — проблемы с оперативной памятью (RAM), шиной (bus) или процессором.",[44,58,59,62],{},[24,60,61],{},"Повреждение данных"," при вводе-выводе (например, ошибка чтения с диска в отображённый файл).",[44,64,65,68],{},[24,66,67],{},"Ошибки в драйверах"," или ядре, приводящие к некорректному отображению памяти.",[21,70,71,72,75],{},"Типичное сообщение в логах (",[29,73,74],{},"dmesg"," или системном журнале):",[77,78,83],"pre",{"className":79,"code":81,"language":82},[80],"language-text","[12345.678] myapp[1234]: unaligned access to address 0x7fffdcba\n[12345.679] myapp[1234]: Bus error (core dumped)\n","text",[29,84,81],{"__ignoreMap":85},"",[21,87,88],{},"Или в терминале:",[77,90,93],{"className":91,"code":92,"language":82},[80],"Bus error (core dumped)\n",[29,94,92],{"__ignoreMap":85},[21,96,97,98,101,102,105,106,109,110,113,114,117,118,121],{},"Ошибка часто проявляется в ",[24,99,100],{},"высоконагруженных системах",", на ",[24,103,104],{},"Raspberry Pi",", при ",[24,107,108],{},"работе с отображёнными файлами"," (",[29,111,112],{},"mmap",") или при ",[24,115,116],{},"использовании низкоуровневых операций"," (например, прямой доступ к ",[29,119,120],{},"/dev/mem",").",[123,124],"hr",{},[16,126,128],{"id":127},"причины-возникновения","Причины возникновения",[130,131,132,152,160,168,179,187],"ol",{},[44,133,134,137,140,141,144,145,148,149,151],{},[24,135,136],{},"Неверное выравнивание данных",[138,139],"br",{},"\nПрограмма пытается получить доступ к данным по адресу, который не кратен размеру типа данных (например, 4-байтовый ",[29,142,143],{},"int"," по адресу ",[29,146,147],{},"0x1001","). На некоторых архитектурах (SPARC, Alpha, ARM в определённых режимах) это вызывает ",[29,150,31],{},".",[44,153,154,157,159],{},[24,155,156],{},"Неисправности оперативной памяти (RAM)",[138,158],{},"\nСбои в модулях RAM, перегрев или несовместимость часто приводят к ошибкам шины при чтении/записи.",[44,161,162,165,167],{},[24,163,164],{},"Проблемы с диском или файловой системой",[138,166],{},"\nПовреждённые сектора на диске, ошибки в файловой системе (например, после внезапного отключения питания) могут привести к тому, что отображённый в память файл содержит некорректные данные.",[44,169,170,173,175,176,178],{},[24,171,172],{},"Ошибки в драйверах оборудования или ядре",[138,174],{},"\nСбои в драйвере (например, графического или сетевого) могут некорректно настроить таблицы страниц памяти, вызвав ",[29,177,31],{}," при доступе.",[44,180,181,184,186],{},[24,182,183],{},"Перегрев процессора или проблемные разгоны",[138,185],{},"\nНа Raspberry Pi и других одноплатных компьютерах перегрев или нестабильный разгон (overclock) часто вызывают ошибки шины.",[44,188,189,192,194,195,198,199,202],{},[24,190,191],{},"Некорректное использование системных вызовов",[138,193],{},"\nНапример, передача некорректного указателя или длины в ",[29,196,197],{},"read()","/",[29,200,201],{},"write()"," для отображённого файла, который был усечён другим процессом.",[123,204],{},[16,206,208],{"id":207},"способ-1-проверка-и-замена-оперативной-памяти","Способ 1: Проверка и замена оперативной памяти",[21,210,211,212,214],{},"Аппаратные проблемы с RAM — самая частая причина ",[29,213,31],{}," на Linux-серверах и рабочих станциях.",[130,216,217,281,293,312],{},[44,218,219,222,224,225,262,264,265],{},[24,220,221],{},"Загрузите memtest86+",[138,223],{},"\nПерезагрузите систему и выберите memtest86+ в меню загрузчика (GRUB). Если его нет, установите:",[77,226,230],{"className":227,"code":228,"language":229,"meta":85,"style":85},"language-bash shiki shiki-themes github-light github-dark","sudo apt update && sudo apt install memtest86+\n","bash",[29,231,232],{"__ignoreMap":85},[233,234,237,241,245,248,252,254,256,259],"span",{"class":235,"line":236},"line",1,[233,238,240],{"class":239},"sScJk","sudo",[233,242,244],{"class":243},"sZZnC"," apt",[233,246,247],{"class":243}," update",[233,249,251],{"class":250},"sVt8B"," && ",[233,253,240],{"class":239},[233,255,244],{"class":243},[233,257,258],{"class":243}," install",[233,260,261],{"class":243}," memtest86+\n",[138,263],{},"Или для RHEL/CentOS:",[77,266,268],{"className":227,"code":267,"language":229,"meta":85,"style":85},"sudo yum install memtest86+\n",[29,269,270],{"__ignoreMap":85},[233,271,272,274,277,279],{"class":235,"line":236},[233,273,240],{"class":239},[233,275,276],{"class":243}," yum",[233,278,258],{"class":243},[233,280,261],{"class":243},[44,282,283,286,288,289,292],{},[24,284,285],{},"Запустите тест",[138,287],{},"\nMemtest начнёт автоматически. Дайте ему пройти ",[24,290,291],{},"минимум 4 полных цикла"," (это может занять несколько часов). Любые ошибки (красные строки) указывают на неисправную планку RAM.",[44,294,295,298],{},[24,296,297],{},"Если ошибки найдены",[41,299,300,303,306,309],{},[44,301,302],{},"Выключите компьютер, отсоедините кабель питания.",[44,304,305],{},"Извлеките все модули RAM, протрите контакты спиртом.",[44,307,308],{},"Установите модули по одному, тестируя каждый слот и планку.",[44,310,311],{},"Замените неисправные модули.",[44,313,314,317,319,320,323,324,327,328,337,339],{},[24,315,316],{},"Проверьте нагрев",[138,318],{},"\nИспользуйте ",[29,321,322],{},"sensors"," (установите ",[29,325,326],{},"lm-sensors","):",[77,329,331],{"className":227,"code":330,"language":229,"meta":85,"style":85},"sensors\n",[29,332,333],{"__ignoreMap":85},[233,334,335],{"class":235,"line":236},[233,336,330],{"class":239},[138,338],{},"Температура RAM (если поддерживается) не должна превышать 85–90°C.",[123,341],{},[16,343,345],{"id":344},"способ-2-обновление-системы-и-ядра","Способ 2: Обновление системы и ядра",[21,347,348,349,351],{},"Устаревшие драйверы или ядро с ошибками могут вызывать ",[29,350,31],{},", особенно при работе с новым железом.",[130,353,354,425,471,497],{},[44,355,356,359,361,362,384,386,387,402,404,405],{},[24,357,358],{},"Обновите все пакеты",[138,360],{},"\nДля Ubuntu/Debian:",[77,363,365],{"className":227,"code":364,"language":229,"meta":85,"style":85},"sudo apt update && sudo apt full-upgrade\n",[29,366,367],{"__ignoreMap":85},[233,368,369,371,373,375,377,379,381],{"class":235,"line":236},[233,370,240],{"class":239},[233,372,244],{"class":243},[233,374,247],{"class":243},[233,376,251],{"class":250},[233,378,240],{"class":239},[233,380,244],{"class":243},[233,382,383],{"class":243}," full-upgrade\n",[138,385],{},"Для CentOS/RHEL 8+:",[77,388,390],{"className":227,"code":389,"language":229,"meta":85,"style":85},"sudo dnf update\n",[29,391,392],{"__ignoreMap":85},[233,393,394,396,399],{"class":235,"line":236},[233,395,240],{"class":239},[233,397,398],{"class":243}," dnf",[233,400,401],{"class":243}," update\n",[138,403],{},"Для Raspberry Pi OS:",[77,406,407],{"className":227,"code":364,"language":229,"meta":85,"style":85},[29,408,409],{"__ignoreMap":85},[233,410,411,413,415,417,419,421,423],{"class":235,"line":236},[233,412,240],{"class":239},[233,414,244],{"class":243},[233,416,247],{"class":243},[233,418,251],{"class":250},[233,420,240],{"class":239},[233,422,244],{"class":243},[233,424,383],{"class":243},[44,426,427,430,432,433,449,451,452,468,470],{},[24,428,429],{},"Установите последнее ядро",[138,431],{},"\nНа Ubuntu:",[77,434,436],{"className":227,"code":435,"language":229,"meta":85,"style":85},"sudo apt install linux-generic-hwe-22.04\n",[29,437,438],{"__ignoreMap":85},[233,439,440,442,444,446],{"class":235,"line":236},[233,441,240],{"class":239},[233,443,244],{"class":243},[233,445,258],{"class":243},[233,447,448],{"class":243}," linux-generic-hwe-22.04\n",[138,450],{},"На CentOS:",[77,453,455],{"className":227,"code":454,"language":229,"meta":85,"style":85},"sudo dnf install kernel\n",[29,456,457],{"__ignoreMap":85},[233,458,459,461,463,465],{"class":235,"line":236},[233,460,240],{"class":239},[233,462,398],{"class":243},[233,464,258],{"class":243},[233,466,467],{"class":243}," kernel\n",[138,469],{},"Перезагрузитесь после установки.",[44,472,473,476,490,492,493,496],{},[24,474,475],{},"Проверьте версию ядра",[77,477,479],{"className":227,"code":478,"language":229,"meta":85,"style":85},"uname -r\n",[29,480,481],{"__ignoreMap":85},[233,482,483,486],{"class":235,"line":236},[233,484,485],{"class":239},"uname",[233,487,489],{"class":488},"sj4cs"," -r\n",[138,491],{},"Убедитесь, что используется новая версия (например, ",[29,494,495],{},"5.15.0-78-generic"," или новее).",[44,498,499,502,504],{},[24,500,501],{},"Если проблема после обновления",[138,503],{},"\nЗагрузитесь в предыдущее ядро из меню GRUB (Advanced options) и проверьте, исчезла ли ошибка. Если да — проблема в новом ядре, сообщите об ошибке в баг-трекер дистрибутива.",[506,507],"in-article-ad",{},[123,509],{},[16,511,513],{"id":512},"способ-3-диагностика-диска-и-файловой-системы","Способ 3: Диагностика диска и файловой системы",[21,515,516,517,519,520,151],{},"Ошибки чтения с диска в отображённый файл (",[29,518,112],{},") — распространённая причина ",[29,521,31],{},[130,523,524,609,665,732],{},[44,525,526,529,531,532,535,536,570,572,573,535,576,594,596,597,600,601,604,605,608],{},[24,527,528],{},"Проверьте SMART-статус дисков",[138,530],{},"\nУстановите ",[29,533,534],{},"smartmontools",":",[77,537,539],{"className":227,"code":538,"language":229,"meta":85,"style":85},"sudo apt install smartmontools  # Debian/Ubuntu\nsudo dnf install smartmontools  # RHEL/CentOS\n",[29,540,541,556],{"__ignoreMap":85},[233,542,543,545,547,549,552],{"class":235,"line":236},[233,544,240],{"class":239},[233,546,244],{"class":243},[233,548,258],{"class":243},[233,550,551],{"class":243}," smartmontools",[233,553,555],{"class":554},"sJ8bj","  # Debian/Ubuntu\n",[233,557,559,561,563,565,567],{"class":235,"line":558},2,[233,560,240],{"class":239},[233,562,398],{"class":243},[233,564,258],{"class":243},[233,566,551],{"class":243},[233,568,569],{"class":554},"  # RHEL/CentOS\n",[138,571],{},"Проверка для диска ",[29,574,575],{},"/dev/sda",[77,577,579],{"className":227,"code":578,"language":229,"meta":85,"style":85},"sudo smartctl -a /dev/sda\n",[29,580,581],{"__ignoreMap":85},[233,582,583,585,588,591],{"class":235,"line":236},[233,584,240],{"class":239},[233,586,587],{"class":243}," smartctl",[233,589,590],{"class":488}," -a",[233,592,593],{"class":243}," /dev/sda\n",[138,595],{},"Ищите строки ",[29,598,599],{},"SMART overall-health self-assessment test result: PASSED"," и атрибуты ",[29,602,603],{},"Reallocated_Sector_Ct",", ",[29,606,607],{},"Current_Pending_Sector",". Ненулевые значения — признак износа.",[44,610,611,614,633,635,636],{},[24,612,613],{},"Запустите тест SMART",[77,615,617],{"className":227,"code":616,"language":229,"meta":85,"style":85},"sudo smartctl -t long /dev/sda\n",[29,618,619],{"__ignoreMap":85},[233,620,621,623,625,628,631],{"class":235,"line":236},[233,622,240],{"class":239},[233,624,587],{"class":243},[233,626,627],{"class":488}," -t",[233,629,630],{"class":243}," long",[233,632,593],{"class":243},[138,634],{},"После завершения (может занять несколько часов) проверьте результаты:",[77,637,639],{"className":227,"code":638,"language":229,"meta":85,"style":85},"sudo smartctl -a /dev/sda | grep -A5 \" SMART\"\n",[29,640,641],{"__ignoreMap":85},[233,642,643,645,647,649,652,656,659,662],{"class":235,"line":236},[233,644,240],{"class":239},[233,646,587],{"class":243},[233,648,590],{"class":488},[233,650,651],{"class":243}," /dev/sda",[233,653,655],{"class":654},"szBVR"," |",[233,657,658],{"class":239}," grep",[233,660,661],{"class":488}," -A5",[233,663,664],{"class":243}," \" SMART\"\n",[44,666,667,670,672,673,676,677,695,697,698,701,702,705,706,722,724,727,728,731],{},[24,668,669],{},"Проверьте файловую систему",[138,671],{},"\nДля ",[24,674,675],{},"несмонтированных"," разделов:",[77,678,680],{"className":227,"code":679,"language":229,"meta":85,"style":85},"sudo fsck -f /dev/sda1\n",[29,681,682],{"__ignoreMap":85},[233,683,684,686,689,692],{"class":235,"line":236},[233,685,240],{"class":239},[233,687,688],{"class":243}," fsck",[233,690,691],{"class":488}," -f",[233,693,694],{"class":243}," /dev/sda1\n",[138,696],{},"Для ",[29,699,700],{},"ext4"," можно добавить ",[29,703,704],{},"-c"," для поиска bad blocks:",[77,707,709],{"className":227,"code":708,"language":229,"meta":85,"style":85},"sudo fsck -fcc /dev/sda1\n",[29,710,711],{"__ignoreMap":85},[233,712,713,715,717,720],{"class":235,"line":236},[233,714,240],{"class":239},[233,716,688],{"class":243},[233,718,719],{"class":488}," -fcc",[233,721,694],{"class":243},[138,723],{},[24,725,726],{},"Внимание:"," Не запускайте ",[29,729,730],{},"fsck"," на смонтированном корневом разделе. Используйте LiveCD или загрузитесь в rescue-режиме.",[44,733,734,737,739,740],{},[24,735,736],{},"Проверьте целостность отображённых файлов",[138,738],{},"\nЕсли ошибка возникает в конкретном приложении (например, база данных), проверьте файлы его данных:",[77,741,743],{"className":227,"code":742,"language":229,"meta":85,"style":85},"# Для PostgreSQL\nsudo -u postgres pg_checksums -D /var/lib/postgresql/14/main\n# Для MySQL\nsudo mysqlcheck -u root -p --all-databases --auto-repair\n",[29,744,745,750,769,775],{"__ignoreMap":85},[233,746,747],{"class":235,"line":236},[233,748,749],{"class":554},"# Для PostgreSQL\n",[233,751,752,754,757,760,763,766],{"class":235,"line":558},[233,753,240],{"class":239},[233,755,756],{"class":488}," -u",[233,758,759],{"class":243}," postgres",[233,761,762],{"class":243}," pg_checksums",[233,764,765],{"class":488}," -D",[233,767,768],{"class":243}," /var/lib/postgresql/14/main\n",[233,770,772],{"class":235,"line":771},3,[233,773,774],{"class":554},"# Для MySQL\n",[233,776,778,780,783,785,788,791,794],{"class":235,"line":777},4,[233,779,240],{"class":239},[233,781,782],{"class":243}," mysqlcheck",[233,784,756],{"class":488},[233,786,787],{"class":243}," root",[233,789,790],{"class":488}," -p",[233,792,793],{"class":488}," --all-databases",[233,795,796],{"class":488}," --auto-repair\n",[123,798],{},[16,800,802],{"id":801},"способ-4-отладка-проблемного-приложения","Способ 4: Отладка проблемного приложения",[21,804,805],{},"Если ошибка возникает только в одной программе, проблема, скорее всего, в её коде.",[130,807,808,842,887,918],{},[44,809,810,813,815,816,832,834,835,838,839,151],{},[24,811,812],{},"Запустите программу под valgrind",[138,814],{},"\nValgrind обнаруживает ошибки доступа к памяти:",[77,817,819],{"className":227,"code":818,"language":229,"meta":85,"style":85},"valgrind --tool=memcheck ./ваша_программа\n",[29,820,821],{"__ignoreMap":85},[233,822,823,826,829],{"class":235,"line":236},[233,824,825],{"class":239},"valgrind",[233,827,828],{"class":488}," --tool=memcheck",[233,830,831],{"class":243}," ./ваша_программа\n",[138,833],{},"Ищите сообщения ",[29,836,837],{},"Invalid address"," или ",[29,840,841],{},"Misaligned address",[44,843,844,847,849,850,838,853,856,857,873,875,876,882,884,885,151],{},[24,845,846],{},"Используйте gdb для анализа core-файла",[138,848],{},"\nЕсли программа сбрасывает core-файл (обычно ",[29,851,852],{},"core",[29,854,855],{},"core.\u003Cpid>"," в текущей директории):",[77,858,860],{"className":227,"code":859,"language":229,"meta":85,"style":85},"gdb ./ваша_программа core\n",[29,861,862],{"__ignoreMap":85},[233,863,864,867,870],{"class":235,"line":236},[233,865,866],{"class":239},"gdb",[233,868,869],{"class":243}," ./ваша_программа",[233,871,872],{"class":243}," core\n",[138,874],{},"Внутри gdb:",[77,877,880],{"className":878,"code":879,"language":82},[80],"(gdb) bt\n(gdb) info registers\n",[29,881,879],{"__ignoreMap":85},[138,883],{},"Последние команды покажут стек вызовов и адрес, вызвавший ",[29,886,31],{},[44,888,889,892,894,895],{},[24,890,891],{},"Проверьте выравнивание в коде",[138,893],{},"\nЕсли вы разработчик, убедитесь, что:",[41,896,897,908,915],{},[44,898,899,900,903,904,907],{},"Структуры данных выровнены (",[29,901,902],{},"alignas"," в C++, ",[29,905,906],{},"__attribute__((aligned))"," в C).",[44,909,910,911,914],{},"Используются функции для выровненного доступа (например, ",[29,912,913],{},"memcpy"," вместо прямого копирования через указатель при выравнивании).",[44,916,917],{},"Нет доступа за границы массивов.",[44,919,920,923,925,926,535,929,948,950],{},[24,921,922],{},"Попробуйте скомпилировать с флагами защиты",[138,924],{},"\nДобавьте в ",[29,927,928],{},"CFLAGS",[77,930,932],{"className":227,"code":931,"language":229,"meta":85,"style":85},"-fsanitize=address,undefined -fno-omit-frame-pointer\n",[29,933,934],{"__ignoreMap":85},[233,935,936,939,942,945],{"class":235,"line":236},[233,937,938],{"class":250},"-fsanitize",[233,940,941],{"class":654},"=",[233,943,944],{"class":243},"address,undefined",[233,946,947],{"class":239}," -fno-omit-frame-pointer\n",[138,949],{},"Это поможет выявить ошибки на этапе компиляции/запуска.",[123,952],{},[16,954,956],{"id":955},"профилактика","Профилактика",[130,958,959,967,984,995,1027,1056,1064],{},[44,960,961,964,966],{},[24,962,963],{},"Регулярно тестируйте RAM",[138,965],{},"\nЗапускайте memtest86+ раз в квартал, особенно после изменений в железе или перегрева.",[44,968,969,972,531,974,976,977,980,981,151],{},[24,970,971],{},"Следите за температурами",[138,973],{},[29,975,326],{}," и ",[29,978,979],{},"psensor"," для мониторинга. На Raspberry Pi используйте ",[29,982,983],{},"vcgencmd measure_temp",[44,985,986,989,991,992,121],{},[24,987,988],{},"Используйте стабильные разгоны",[138,990],{},"\nНа Raspberry Pi и других одноплатных компьютерах избегайте агрессивного overclock’а. Проверяйте стабильность стресс-тестами (",[29,993,994],{},"stress-ng",[44,996,997,1000,1002,1003,1018,1020,1021,838,1024,121],{},[24,998,999],{},"Обновляйте прошивку",[138,1001],{},"\nДля Raspberry Pi:",[77,1004,1006],{"className":227,"code":1005,"language":229,"meta":85,"style":85},"sudo rpi-eeprom-update -a\n",[29,1007,1008],{"__ignoreMap":85},[233,1009,1010,1012,1015],{"class":235,"line":236},[233,1011,240],{"class":239},[233,1013,1014],{"class":243}," rpi-eeprom-update",[233,1016,1017],{"class":488}," -a\n",[138,1019],{},"Для серверов — обновляйте BIOS/UEFI и микрокод процессора (",[29,1022,1023],{},"intel-microcode",[29,1025,1026],{},"amd-microcode",[44,1028,1029,1032,1034,1035],{},[24,1030,1031],{},"Корректно обрабатывайте отображённые файлы",[138,1033],{},"\nВ коде:",[41,1036,1037,1046,1049],{},[44,1038,1039,1040,1042,1043,151],{},"Всегда проверяйте результат ",[29,1041,112],{}," на ",[29,1044,1045],{},"MAP_FAILED",[44,1047,1048],{},"Убедитесь, что размер файла не меняется другим процессом во время отображения.",[44,1050,1051,1052,1055],{},"Используйте ",[29,1053,1054],{},"msync"," для синхронизации изменений.",[44,1057,1058,1061,1063],{},[24,1059,1060],{},"Выбирайте качественные компоненты",[138,1062],{},"\nПри сборке системы отдавайте предпочтение ECC-памяти (на серверах) и сертифицированным дискам. На Raspberry Pi используйте официальный блок питания и качественную SD-карту (Class 10/UHS-I).",[44,1065,1066,1069,925,1071,1074,1075,535,1077,1097,1099,1100,838,1103,1106],{},[24,1067,1068],{},"Настройте мониторинг",[138,1070],{},[29,1072,1073],{},"syslog"," фильтр для ",[29,1076,31],{},[77,1078,1080],{"className":227,"code":1079,"language":229,"meta":85,"style":85},"sudo grep -i \"bus error\" /var/log/syslog\n",[29,1081,1082],{"__ignoreMap":85},[233,1083,1084,1086,1088,1091,1094],{"class":235,"line":236},[233,1085,240],{"class":239},[233,1087,658],{"class":243},[233,1089,1090],{"class":488}," -i",[233,1092,1093],{"class":243}," \"bus error\"",[233,1095,1096],{"class":243}," /var/log/syslog\n",[138,1098],{},"Настройте оповещения (например, через ",[29,1101,1102],{},"logwatch",[29,1104,1105],{},"fail2ban"," для повторяющихся ошибок).",[1108,1109,1110],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":85,"searchDepth":558,"depth":558,"links":1112},[1113,1114,1115,1116,1117,1118,1119],{"id":18,"depth":558,"text":19},{"id":127,"depth":558,"text":128},{"id":207,"depth":558,"text":208},{"id":344,"depth":558,"text":345},{"id":512,"depth":558,"text":513},{"id":801,"depth":558,"text":802},{"id":955,"depth":558,"text":956},null,"2026-02-16 09:43:33","Узнайте, что такое ошибка Bus Error в Linux и как её быстро исправить. Пошаговое руководство по диагностике памяти, обновлению системы и отладке программ для Ubuntu, CentOS и других дистрибутивов.","medium",false,"15-30 мин","md",[1128,1131,1134],{"question":1129,"answer":1130},"Чем Bus Error отличается от Segmentation Fault?","Segmentation Fault (SIGSEGV) связан с доступом к виртуальной памяти вне выделенного диапазона, а Bus Error (SIGBUS) — с физической памятью, обычно из-за выравнивания или аппаратных проблем.",{"question":1132,"answer":1133},"Можно ли исправить Bus Error без перезагрузки системы?","Да, если причина в конкретном процессе — завершите его. Но если проблема в оборудовании или ядре, перезагрузка может быть необходима после устранения причины.",{"question":1135,"answer":1136},"Почему Bus Error часто возникает на Raspberry Pi?","На Raspberry Pi это часто связано с перегревом, проблемами с SD-картой или нестабильным питанием, что приводит к ошибкам доступа к памяти.",[1138,1141,1144,1147],{"name":1139,"text":1140},"Проверьте оперативную память","Запустите memtest86+ для диагностики аппаратных проблем с RAM. Это самый частый источник ошибок Bus.",{"name":1142,"text":1143},"Обновите систему и ядро","Установите последние обновления, так как ошибки в драйверах или ядре могут вызывать SIGBUS.",{"name":1145,"text":1146},"Проверьте жёсткие диски и файловую систему","Используйте smartctl и fsck для поиска проблем с хранилищем, которые могут приводить к повреждению данных в памяти.",{"name":1148,"text":1149},"Отладьте проблемное приложение","Если ошибка возникает в конкретной программе, используйте valgrind или gdb для выявления ошибок доступа к памяти в коде.","PT20M",[1152,1153,1154,1155,1156,1157,1158,1159],"bus error linux","ошибка bus error","sigbus linux что это","bus error решение","bus error ubuntu","ошибка доступа к памяти linux","bus error centos","исправить bus error","ru_RU",{},true,"/errors/linux/bus-error","linux",[1166,1167,1168],"/errors/linux/segmentation-fault","/guides/linux/memory-test","/errors/linux/io-error","Ошибки Linux",{"title":5,"description":1122},"high","errors/linux/bus-error","Ошибка Bus Error возникает при некорректном доступе к физической памяти. В статье подробно разбираются причины — от аппаратных проблем до ошибок в коде — и даются проверенные способы решения для Linux-систем.",[1164,1175,1176,1177,1178,31,1179],"ошибки","bus error","сигнал","память","аппаратные ошибки","error","gqMhkoxxwAhwxeqLpXnEDyOwTpG5aodw1s19R2hTEno",{"data":1183,"body":1184},{},{"type":1185,"children":1186},"root",[1187],{"type":1188,"tag":21,"props":1189,"children":1190},"element",{},[1191],{"type":82,"value":1130},{"data":1193,"body":1194},{},{"type":1185,"children":1195},[1196],{"type":1188,"tag":21,"props":1197,"children":1198},{},[1199],{"type":82,"value":1133},{"data":1201,"body":1202},{},{"type":1185,"children":1203},[1204],{"type":1188,"tag":21,"props":1205,"children":1206},{},[1207],{"type":82,"value":1136},{"data":1209,"body":1210},{},{"type":1185,"children":1211},[1212],{"type":1188,"tag":21,"props":1213,"children":1214},{},[1215],{"type":82,"value":1140},{"data":1217,"body":1218},{},{"type":1185,"children":1219},[1220],{"type":1188,"tag":21,"props":1221,"children":1222},{},[1223],{"type":82,"value":1143},{"data":1225,"body":1226},{},{"type":1185,"children":1227},[1228],{"type":1188,"tag":21,"props":1229,"children":1230},{},[1231],{"type":82,"value":1146},{"data":1233,"body":1234},{},{"type":1185,"children":1235},[1236],{"type":1188,"tag":21,"props":1237,"children":1238},{},[1239],{"type":82,"value":1149},[1241,1790,2538],{"id":1242,"title":1243,"appliesTo":1244,"author":11,"body":1248,"canonical":1120,"code":35,"createdAt":1731,"description":1732,"difficulty":1123,"draft":1124,"estimatedTime":1733,"extension":1126,"faq":1734,"howToSteps":1747,"howToTotalTime":1150,"image":1120,"keywords":1766,"locale":1160,"meta":1776,"navigation":1162,"path":1166,"platform":1164,"related":1777,"section":1169,"seo":1780,"severity":1171,"stem":1781,"summary":1782,"tags":1783,"twitterCreator":1120,"twitterSite":1120,"type":1180,"updatedAt":1731,"__hash__":1789},"content_ru/errors/linux/segmentation-fault.md","Segmentation Fault в Linux: причины и способы исправления",[1245,1246,1247],"Все дистрибутивы Linux","Приложения на C/C++/Rust/Go","Ядро Linux 4.x и выше",{"type":13,"value":1249,"toc":1720},[1250,1254,1257,1259,1320,1324,1331,1368,1378,1382,1385,1421,1425,1428,1484,1488,1491,1535,1538,1555,1559,1562,1648,1652,1655,1672,1674,1676,1679,1717],[16,1251,1253],{"id":1252},"что-означает-ошибка-sigsegv","Что означает ошибка SIGSEGV",[21,1255,1256],{},"Segmentation fault (ошибка сегментации) — это сигнал SIGSEGV, который отправляется процессу, когда он пытается обратиться к запрещённому участку памяти. Например, доступ к памяти, которая не принадлежит процессу, или попытка записи в read-only память. В Linux это обычно приводит к немедленному завершению программы с сообщением \"Segmentation fault\" или \"Segmentation fault (core dumped)\", если сгенерирован core dump.",[16,1258,128],{"id":127},[130,1260,1261,1267,1273,1282,1288,1302,1308,1314],{},[44,1262,1263,1266],{},[24,1264,1265],{},"Разыменование нулевого указателя",": Попытка чтения или записи по адресу NULL (0x0).",[44,1268,1269,1272],{},[24,1270,1271],{},"Выход за границы массива",": Доступ к элементу массива за пределами выделенной памяти.",[44,1274,1275,1278,1279,151],{},[24,1276,1277],{},"Использование освобождённой памяти (use-after-free)",": Обращение к указателю после вызова ",[29,1280,1281],{},"free()",[44,1283,1284,1287],{},[24,1285,1286],{},"Переполнение стека (stack overflow)",": Рекурсия без условия выхода или слишком большие локальные массивы.",[44,1289,1290,1293,1294,1297,1298,1301],{},[24,1291,1292],{},"Некорректные приведения типов",": Например, приведение ",[29,1295,1296],{},"int*"," к ",[29,1299,1300],{},"char*"," и последующий доступ.",[44,1303,1304,1307],{},[24,1305,1306],{},"Повреждение кучи (heap corruption)",": Переполнение буфера в куче, повреждающее метаданные.",[44,1309,1310,1313],{},[24,1311,1312],{},"Ошибки в многопоточном коде",": Гонки данных, неправильная синхронизация.",[44,1315,1316,1319],{},[24,1317,1318],{},"Повреждённые библиотеки или драйверы",": Использование устаревших или битых shared libraries.",[16,1321,1323],{"id":1322},"способ-1-анализ-core-dump-с-gdb","Способ 1: Анализ core dump с GDB",[21,1325,1326,1327,1330],{},"Core dump — это снимок памяти процесса на момент падения. Если он включён (обычно через ",[29,1328,1329],{},"ulimit -c unlimited","), вы можете проанализировать его с помощью GDB.",[130,1332,1333,1341,1358,1365],{},[44,1334,1335,1336,838,1338,1340],{},"Убедитесь, что core dump существует. Он обычно называется ",[29,1337,852],{},[29,1339,855],{}," в текущей директории.",[44,1342,1343,1344],{},"Запустите GDB с исполняемым файлом и core dump:\n",[77,1345,1347],{"className":227,"code":1346,"language":229,"meta":85,"style":85},"gdb /path/to/program core\n",[29,1348,1349],{"__ignoreMap":85},[233,1350,1351,1353,1356],{"class":235,"line":236},[233,1352,866],{"class":239},[233,1354,1355],{"class":243}," /path/to/program",[233,1357,872],{"class":243},[44,1359,1360,1361,1364],{},"Внутри GDB используйте команду ",[29,1362,1363],{},"bt"," (backtrace) для получения стека вызовов. Это покажет, в какой строке кода произошла ошибка.",[44,1366,1367],{},"Ищите в выводе адрес, где произошёл segfault. Часто это будет функция из вашего кода или библиотеки.",[1369,1370,1371],"blockquote",{},[21,1372,1373,1374,1377],{},"💡 Совет: Если core dump не генерируется, проверьте настройки ",[29,1375,1376],{},"ulimit -c"," и место на диске.",[16,1379,1381],{"id":1380},"способ-2-запуск-под-valgrind","Способ 2: Запуск под valgrind",[21,1383,1384],{},"Valgrind — инструмент для обнаружения ошибок работы с памятью, включая segmentation fault.",[130,1386,1387,1394,1415,1418],{},[44,1388,1389,1390,1393],{},"Установите valgrind, если ещё не установлен: ",[29,1391,1392],{},"sudo apt install valgrind"," (для Ubuntu/Debian).",[44,1395,1396,1397],{},"Запустите программу через valgrind:\n",[77,1398,1400],{"className":227,"code":1399,"language":229,"meta":85,"style":85},"valgrind --leak-check=full ./your_program [аргументы]\n",[29,1401,1402],{"__ignoreMap":85},[233,1403,1404,1406,1409,1412],{"class":235,"line":236},[233,1405,825],{"class":239},[233,1407,1408],{"class":488}," --leak-check=full",[233,1410,1411],{"class":243}," ./your_program",[233,1413,1414],{"class":250}," [аргументы]\n",[44,1416,1417],{},"Valgrind будет выводить подробные сообщения об ошибках, включая неинициализированные переменные, доступ к освобождённой памяти и т.д.",[44,1419,1420],{},"Ищите строки с \"Invalid read\" или \"Invalid write\" — они указывают на потенциальные причины segfault.",[16,1422,1424],{"id":1423},"способ-3-использование-addresssanitizer-asan","Способ 3: Использование AddressSanitizer (ASan)",[21,1426,1427],{},"AddressSanitizer — это санитайзер, встроенный в компиляторы GCC и Clang. Он обнаруживает ошибки памяти во время выполнения.",[130,1429,1430,1463,1478,1481],{},[44,1431,1432,1433,1458,1459,1462],{},"Перекомпилируйте свою программу с флагами санитайзера:\n",[77,1434,1436],{"className":227,"code":1435,"language":229,"meta":85,"style":85},"gcc -fsanitize=address -g -o program program.c\n",[29,1437,1438],{"__ignoreMap":85},[233,1439,1440,1443,1446,1449,1452,1455],{"class":235,"line":236},[233,1441,1442],{"class":239},"gcc",[233,1444,1445],{"class":488}," -fsanitize=address",[233,1447,1448],{"class":488}," -g",[233,1450,1451],{"class":488}," -o",[233,1453,1454],{"class":243}," program",[233,1456,1457],{"class":243}," program.c\n","\nФлаг ",[29,1460,1461],{},"-g"," добавляет отладочную информацию.",[44,1464,1465,1466],{},"Запустите программу:\n",[77,1467,1469],{"className":227,"code":1468,"language":229,"meta":85,"style":85},"./program [аргументы]\n",[29,1470,1471],{"__ignoreMap":85},[233,1472,1473,1476],{"class":235,"line":236},[233,1474,1475],{"class":239},"./program",[233,1477,1414],{"class":250},[44,1479,1480],{},"При segmentation fault ASan выведет детальный отчёт, включая стек вызовов и тип ошибки.",[44,1482,1483],{},"ASan также может обнаруживать утечки памяти.",[16,1485,1487],{"id":1486},"способ-4-проверка-кода-на-распространённые-ошибки","Способ 4: Проверка кода на распространённые ошибки",[21,1489,1490],{},"Если у вас есть исходный код, проверьте его вручную или с помощью статических анализаторов.",[41,1492,1493,1500,1506,1509,1519],{},[44,1494,1495,1496,1499],{},"Убедитесь, что все указатели проверяются на ",[29,1497,1498],{},"NULL"," перед использованием.",[44,1501,1502,1503,151],{},"Проверьте границы массивов: индексы должны быть в диапазоне ",[29,1504,1505],{},"[0, size-1]",[44,1507,1508],{},"Избегайте возврата указателей на локальные переменные из функций.",[44,1510,1511,1512,604,1515,1518],{},"В C++ используйте умные указатели (",[29,1513,1514],{},"std::unique_ptr",[29,1516,1517],{},"std::shared_ptr",") для автоматического управления памятью.",[44,1520,1521,1522,1525,1526,604,1529,1525,1532,121],{},"Для строк используйте безопасные функции (",[29,1523,1524],{},"strncpy"," вместо ",[29,1527,1528],{},"strcpy",[29,1530,1531],{},"snprintf",[29,1533,1534],{},"sprintf",[21,1536,1537],{},"Можно использовать статические анализаторы:",[41,1539,1540,1549],{},[44,1541,1542,1545,1546],{},[29,1543,1544],{},"cppcheck"," для C/C++: ",[29,1547,1548],{},"cppcheck --enable=all program.c",[44,1550,1551,1554],{},[29,1552,1553],{},"clang-tidy"," для современного C++.",[16,1556,1558],{"id":1557},"способ-5-обновление-системных-библиотек-и-драйверов","Способ 5: Обновление системных библиотек и драйверов",[21,1560,1561],{},"Иногда segmentation fault возникает из-за битых или устаревших библиотек, особенно если программа использует сторонние модули.",[130,1563,1564,1603,1626,1645],{},[44,1565,1566,1567],{},"Обновите систему:\n",[77,1568,1570],{"className":227,"code":1569,"language":229,"meta":85,"style":85},"sudo apt update && sudo apt upgrade   # Для Debian/Ubuntu\nsudo dnf update                       # Для Fedora\n",[29,1571,1572,1592],{"__ignoreMap":85},[233,1573,1574,1576,1578,1580,1582,1584,1586,1589],{"class":235,"line":236},[233,1575,240],{"class":239},[233,1577,244],{"class":243},[233,1579,247],{"class":243},[233,1581,251],{"class":250},[233,1583,240],{"class":239},[233,1585,244],{"class":243},[233,1587,1588],{"class":243}," upgrade",[233,1590,1591],{"class":554},"   # Для Debian/Ubuntu\n",[233,1593,1594,1596,1598,1600],{"class":235,"line":558},[233,1595,240],{"class":239},[233,1597,398],{"class":243},[233,1599,247],{"class":243},[233,1601,1602],{"class":554},"                       # Для Fedora\n",[44,1604,1605,1606],{},"Переустановите проблемную библиотеку, если подозреваете её:\n",[77,1607,1609],{"className":227,"code":1608,"language":229,"meta":85,"style":85},"sudo apt reinstall libexample        # Пример для Ubuntu\n",[29,1610,1611],{"__ignoreMap":85},[233,1612,1613,1615,1617,1620,1623],{"class":235,"line":236},[233,1614,240],{"class":239},[233,1616,244],{"class":243},[233,1618,1619],{"class":243}," reinstall",[233,1621,1622],{"class":243}," libexample",[233,1624,1625],{"class":554},"        # Пример для Ubuntu\n",[44,1627,1628,1629,1632,1633],{},"Проверьте, не используете ли вы старые версии библиотек, совместимые с текущей системой. Используйте ",[29,1630,1631],{},"ldd"," для просмотра зависимостей:\n",[77,1634,1636],{"className":227,"code":1635,"language":229,"meta":85,"style":85},"ldd /path/to/program\n",[29,1637,1638],{"__ignoreMap":85},[233,1639,1640,1642],{"class":235,"line":236},[233,1641,1631],{"class":239},[233,1643,1644],{"class":243}," /path/to/program\n",[44,1646,1647],{},"Если проблема в драйвере (например, графическом), обновите драйверы через менеджер драйверов или с сайта производителя.",[16,1649,1651],{"id":1650},"способ-6-изоляция-проблемы-с-минимальным-примером","Способ 6: Изоляция проблемы с минимальным примером",[21,1653,1654],{},"Если segmentation fault происходит в большой программе, попробуйте создать минимальный воспроизводящий пример.",[130,1656,1657,1660,1663,1666,1669],{},[44,1658,1659],{},"Упростите код до минимального варианта, который всё ещё вызывает ошибку.",[44,1661,1662],{},"Удаляйте части кода по одной, чтобы найти конкретный участок.",[44,1664,1665],{},"Используйте комментарии для исключения блоков.",[44,1667,1668],{},"Как только найдёте минимальный пример, станет проще диагностировать причину.",[44,1670,1671],{},"Если проблема в сторонней библиотеке, проверьте её документацию на известные баги.",[506,1673],{},[16,1675,956],{"id":955},[21,1677,1678],{},"Чтобы избежать segmentation fault в будущем:",[41,1680,1681,1687,1693,1699,1705,1711],{},[44,1682,1683,1686],{},[24,1684,1685],{},"Используйте санитайзеры при разработке",": Включайте AddressSanitizer или MemorySanitizer в процесс сборки для отладки.",[44,1688,1689,1692],{},[24,1690,1691],{},"Пишите безопасный код",": Проверяйте все указатели, избегайте магических чисел для размеров массивов.",[44,1694,1695,1698],{},[24,1696,1697],{},"Тестируйте на edge cases",": Проверяйте граничные условия, такие как пустые массивы, NULL-указатели.",[44,1700,1701,1704],{},[24,1702,1703],{},"Регулярно обновляйте зависимости",": Следите за обновлениями библиотек и компиляторов, которые могут содержать исправления.",[44,1706,1707,1710],{},[24,1708,1709],{},"Используйте современные языки и инструменты",": Языки вроде Rust имеют встроенную защиту от подобных ошибок на уровне компилятора.",[44,1712,1713,1716],{},[24,1714,1715],{},"Включать core dump в продакшене",": Для продакшн-систем настройте core dump для анализа падений, но учитывайте безопасность (core dump может содержать чувствительные данные).",[1108,1718,1719],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":85,"searchDepth":558,"depth":558,"links":1721},[1722,1723,1724,1725,1726,1727,1728,1729,1730],{"id":1252,"depth":558,"text":1253},{"id":127,"depth":558,"text":128},{"id":1322,"depth":558,"text":1323},{"id":1380,"depth":558,"text":1381},{"id":1423,"depth":558,"text":1424},{"id":1486,"depth":558,"text":1487},{"id":1557,"depth":558,"text":1558},{"id":1650,"depth":558,"text":1651},{"id":955,"depth":558,"text":956},"2026-02-15 21:03:12","Узнайте, как диагностировать и исправить ошибку Segmentation Fault в Linux. Пошаговые инструкции для новичков и опытных пользователей. Решите проблему за 5 минут!","10-30 мин",[1735,1738,1741,1744],{"answer":1736,"question":1737},"Segmentation fault (ошибка сегментации) возникает при попытке доступа к памяти, на которую у процесса нет прав, например, разыменование нулевого указателя или выход за границы массива.","Что такое segmentation fault и почему он возникает?",{"answer":1739,"question":1740},"Используйте отладчик GDB с core dump файлом или запустите программу под valgrind/AddressSanitizer, чтобы получить трассировку стека.","Как найти строку кода, вызывающую segmentation fault?",{"answer":1742,"question":1743},"Да, путём аккуратной работы с памятью: проверка указателей, использование безопасных функций, включение санитайзеров при компиляции.","Можно ли предотвратить segmentation fault?",{"answer":1745,"question":1746},"Segmentation fault характерен для Unix-подобных систем, но аналогичные ошибки (access violation) есть и в Windows.","Segmentation fault только в Linux или и в других ОС?",[1748,1751,1754,1757,1760,1763],{"name":1749,"text":1750},"Проверка core dump","Если программа создала core dump, используйте GDB для анализа: `gdb \u003Cпрограмма> core` и команда `bt` для backtrace.",{"name":1752,"text":1753},"Запуск с valgrind","Запустите программу через valgrind: `valgrind ./program` для обнаружения ошибок работы с памятью.",{"name":1755,"text":1756},"Использование AddressSanitizer","При компиляции добавьте флаг `-fsanitize=address` и запустите программу, чтобы получить детальный отчёт об ошибках памяти.",{"name":1758,"text":1759},"Проверка указателей","В коде убедитесь, что все указатели инициализированы и не равны NULL перед разыменованием.",{"name":1761,"text":1762},"Обновление библиотек","Обновите системные библиотеки и драйверы, так как ошибка может быть вызвана устаревшим или повреждённым ПО.",{"name":1764,"text":1765},"Минимальный тестовый пример","Создайте минимальный пример кода, который воспроизводит ошибку, чтобы локализовать проблему.",[1767,1768,1769,1770,1771,1772,1157,1773,1774,1775],"segmentation fault linux","ошибка segmentation fault","как исправить segmentation fault","segfault в линукс","сигнал SIGSEGV","память segmentation fault","segmentation fault core dumped","отладка segmentation fault","линукс ошибка сегментации",{},[1163,1778,1779],"/guides/linux/gdb-tutorial","/errors/linux/stack-overflow",{"title":1243,"description":1732},"errors/linux/segmentation-fault","Статья объясняет, что такое Segmentation Fault в Linux, его причины и предоставляет несколько способов решения проблемы, от простых до сложных.",[1784,1785,1786,1178,35,1787,1788],"ошибки linux","segmentation fault","отладка","linux errors","crash","lsZnwYPEHAfzCSwLsg_EIMOB3IblmVzi4PFBpG-ImsE",{"id":1791,"title":1792,"appliesTo":1793,"author":11,"body":1797,"canonical":1120,"code":1120,"createdAt":2482,"description":2483,"difficulty":1123,"draft":1124,"estimatedTime":2484,"extension":1126,"faq":2485,"howToSteps":2495,"howToTotalTime":2511,"image":1120,"keywords":2512,"locale":1160,"meta":2521,"navigation":1162,"path":1167,"platform":1164,"related":2522,"section":2526,"seo":2527,"severity":1120,"stem":2528,"summary":2529,"tags":2530,"twitterCreator":1120,"twitterSite":1120,"type":2536,"updatedAt":2482,"__hash__":2537},"content_ru/guides/linux/memory-test.md","Проверка оперативной памяти в Linux: полное руководство по Memtest86+",[7,1794,9,1795,1796],"Fedora 36+","Arch Linux","Любой системный сборки с UEFI/BIOS",{"type":13,"value":1798,"toc":2470},[1799,1803,1810,1814,1840,1845,1849,1856,1967,1971,2014,2017,2021,2024,2030,2044,2049,2071,2076,2080,2087,2265,2274,2278,2281,2324,2328,2346,2350,2413,2415,2419,2460,2467],[16,1800,1802],{"id":1801},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,1804,1805,1806,1809],{},"Оперативная память (RAM) — один из ключевых компонентов, от которого зависит стабильность всей системы. Скрытые дефекты модулей RAM проявляются неочевидно: случайные вылеты программ, «синие экраны» (kernel panic), некорректные расчёты или повреждение данных без видимой причины. ",[24,1807,1808],{},"Memtest86+"," — это отраслевой стандарт для низкоуровневой диагностики памяти, работающий напрямую с железом, минуя операционную систему. Этот гайд поможет вам точно определить, здоровы ли ваши модули RAM, и найти неисправный, если он есть.",[16,1811,1813],{"id":1812},"требования-подготовка","Требования / Подготовка",[130,1815,1816,1822,1828,1834],{},[44,1817,1818,1821],{},[24,1819,1820],{},"Доступ к BIOS/UEFI",": Нужно возможность загрузки с внешнего носителя (USB-флешки).",[44,1823,1824,1827],{},[24,1825,1826],{},"Свободный USB-накопитель",": Минимум 512 МБ свободного места.",[44,1829,1830,1833],{},[24,1831,1832],{},"Другой компьютер"," (опционально): Для записи образа на флешку, если ваша основная система нестабильна.",[44,1835,1836,1839],{},[24,1837,1838],{},"Базовые знания",": Умение заходить в BIOS/UEFI и выбирать загрузочное устройство.",[1369,1841,1842],{},[21,1843,1844],{},"⚠️ Важно: Перед началом закройте все программы и сохраните важные данные на другом носителе. Хотя Memtest86+ не вредит данным на дисках, нестабильная система может «упасть» в любой момент.",[16,1846,1848],{"id":1847},"шаг-1-подготовка-загрузочного-носителя-с-memtest86","Шаг 1: Подготовка загрузочного носителя с Memtest86+",[21,1850,1851,1852,1855],{},"Самый надёжный способ — использовать ",[24,1853,1854],{},"официальный образ Memtest86+"," (бесплатная версия). Он не требует установки и работает на любом ПК с архитектурой x86/x64.",[130,1857,1858,1872],{},[44,1859,1860,1861,1868,1869,151],{},"Скачайте последнюю версию с ",[1862,1863,1867],"a",{"href":1864,"rel":1865},"https://www.memtest.org/",[1866],"nofollow","официального сайта",". Выбирайте ",[29,1870,1871],{},"Memtest86+ USB Image",[44,1873,1874,1875,1878],{},"Запишите образ на флешку. ",[24,1876,1877],{},"Внимание: это уничтожит все данные на флешке!",[41,1879,1880,1936],{},[44,1881,1882,1885,1886,1920],{},[24,1883,1884],{},"В Linux"," (Ubuntu, Fedora и др.):\n",[77,1887,1889],{"className":227,"code":1888,"language":229,"meta":85,"style":85},"# Определите имя флешки (например, /dev/sdX) через `lsblk` или `sudo fdisk -l`\nsudo dd if=/путь/к/образу.img of=/dev/sdX bs=4M status=progress && sync\n",[29,1890,1891,1896],{"__ignoreMap":85},[233,1892,1893],{"class":235,"line":236},[233,1894,1895],{"class":554},"# Определите имя флешки (например, /dev/sdX) через `lsblk` или `sudo fdisk -l`\n",[233,1897,1898,1900,1903,1906,1909,1912,1915,1917],{"class":235,"line":558},[233,1899,240],{"class":239},[233,1901,1902],{"class":243}," dd",[233,1904,1905],{"class":243}," if=/путь/к/образу.img",[233,1907,1908],{"class":243}," of=/dev/sdX",[233,1910,1911],{"class":243}," bs=4M",[233,1913,1914],{"class":243}," status=progress",[233,1916,251],{"class":250},[233,1918,1919],{"class":239},"sync\n",[41,1921,1922],{},[44,1923,1924,1925,1928,1929,1932,1933],{},"Замените ",[29,1926,1927],{},"/dev/sdX"," на правильное устройство (например, ",[29,1930,1931],{},"/dev/sdb","). ",[24,1934,1935],{},"Не путайте с системным диском!",[44,1937,1938,1941,1942,1947,1948,1951,1952,1955,1956,1959,1960,1963,1964,121],{},[24,1939,1940],{},"В Windows"," используйте ",[1862,1943,1946],{"href":1944,"rel":1945},"https://rufus.ie/",[1866],"Rufus",". В разделе «Запись» выберите ",[24,1949,1950],{},"«Образ диска (ISO)»"," и укажите скачанный ",[29,1953,1954],{},".img"," файл. В «Опции схемы раздела» выберите ",[29,1957,1958],{},"MBR"," для совместимости со старым BIOS или ",[29,1961,1962],{},"GPT"," для UEFI (обычно подходит ",[29,1965,1966],{},"GPT для UEFI",[16,1968,1970],{"id":1969},"шаг-2-загрузка-с-носителя-и-запуск-теста","Шаг 2: Загрузка с носителя и запуск теста",[130,1972,1973,1976,1996,2005,2008],{},[44,1974,1975],{},"Вставьте подготовленную флешку в проблемный компьютер.",[44,1977,1978,1979,1982,1983,604,1986,604,1989,604,1992,1995],{},"Перезагрузите его и сразу начните нажимать клавишу для входа в ",[24,1980,1981],{},"BIOS/UEFI"," (чаще всего ",[29,1984,1985],{},"Del",[29,1987,1988],{},"F2",[29,1990,1991],{},"F10",[29,1993,1994],{},"F12"," — зависит от производителя материнской платы).",[44,1997,1998,1999,838,2002,151],{},"В настройках BIOS/UEFI найдите раздел ",[24,2000,2001],{},"Boot",[24,2003,2004],{},"Загрузка",[44,2006,2007],{},"Сделайте ваш USB-накопитель первым в порядке загрузки (Boot Option #1).",[44,2009,2010,2011,2013],{},"Сохраните настройки (обычно ",[29,2012,1991],{},") и выйдите. Компьютер перезагрузится и загрузит Memtest86+.",[21,2015,2016],{},"Если всё сделано верно, вы увидите синий экран с логотипом Memtest86+ и автоматически начинающийся тест (Test #1).",[16,2018,2020],{"id":2019},"шаг-3-интерпретация-результатов","Шаг 3: Интерпретация результатов",[21,2022,2023],{},"Memtest86+ работает по принципу последовательных тестов (Test 0-13). Каждый полный проход (Pass) проверяет всю память. Строка состояния внизу экрана критически важна:",[77,2025,2028],{"className":2026,"code":2027,"language":82},[80],"Pass: 3  Errors: 0  ...\n",[29,2029,2027],{"__ignoreMap":85},[41,2031,2032,2038],{},[44,2033,2034,2037],{},[24,2035,2036],{},"Pass (Проход)",": Сколько раз вся память была полностью проверена.",[44,2039,2040,2043],{},[24,2041,2042],{},"Errors (Ошибки)",": Общее количество найденных ошибок.",[21,2045,2046],{},[24,2047,2048],{},"Критерии успеха:",[41,2050,2051,2057],{},[44,2052,2053,2056],{},[24,2054,2055],{},"Минимум 4 прохода (Pass >= 4) с Errors = 0"," — память с высокой вероятностью исправна.",[44,2058,2059,2062,2063,2066,2067,2070],{},[24,2060,2061],{},"Errors > 0 (даже 1)"," — модуль(и) RAM неисправны. ",[24,2064,2065],{},"Тест можно остановить"," (нажмите ",[29,2068,2069],{},"Esc","), дальнейшие проходы не нужны.",[1369,2072,2073],{},[21,2074,2075],{},"💡 Совет: Для быстрой первичной проверки достаточно 1-2 проходов. Если ошибок нет — можно считать память стабильной. Если есть — ищите неисправный модуль (см. Шаг 5).",[16,2077,2079],{"id":2078},"шаг-4-альтернативный-метод-стресс-тест-из-под-работающей-linux-stress-ng","Шаг 4: Альтернативный метод — стресс-тест из-под работающей Linux (stress-ng)",[21,2081,2082,2083,2086],{},"Если по каким-то причинам загрузка с флешки невозможна (например, на ноутбуке без доступа к BIOS), можно провести ",[24,2084,2085],{},"приблизительный"," тест прямо в Linux. Он менее точен, так как ОС может мешать, но выявит серьёзные проблемы.",[130,2088,2089,2169,2228],{},[44,2090,2091,2092,2094,2095],{},"Установите утилиту ",[29,2093,994],{},":\n",[77,2096,2098],{"className":227,"code":2097,"language":229,"meta":85,"style":85},"# Для Ubuntu/Debian\nsudo apt update && sudo apt install stress-ng\n\n# Для Fedora/RHEL\nsudo dnf install stress-ng\n\n# Для Arch\nsudo pacman -S stress-ng\n",[29,2099,2100,2105,2124,2129,2134,2145,2150,2156],{"__ignoreMap":85},[233,2101,2102],{"class":235,"line":236},[233,2103,2104],{"class":554},"# Для Ubuntu/Debian\n",[233,2106,2107,2109,2111,2113,2115,2117,2119,2121],{"class":235,"line":558},[233,2108,240],{"class":239},[233,2110,244],{"class":243},[233,2112,247],{"class":243},[233,2114,251],{"class":250},[233,2116,240],{"class":239},[233,2118,244],{"class":243},[233,2120,258],{"class":243},[233,2122,2123],{"class":243}," stress-ng\n",[233,2125,2126],{"class":235,"line":771},[233,2127,2128],{"emptyLinePlaceholder":1162},"\n",[233,2130,2131],{"class":235,"line":777},[233,2132,2133],{"class":554},"# Для Fedora/RHEL\n",[233,2135,2137,2139,2141,2143],{"class":235,"line":2136},5,[233,2138,240],{"class":239},[233,2140,398],{"class":243},[233,2142,258],{"class":243},[233,2144,2123],{"class":243},[233,2146,2148],{"class":235,"line":2147},6,[233,2149,2128],{"emptyLinePlaceholder":1162},[233,2151,2153],{"class":235,"line":2152},7,[233,2154,2155],{"class":554},"# Для Arch\n",[233,2157,2159,2161,2164,2167],{"class":235,"line":2158},8,[233,2160,240],{"class":239},[233,2162,2163],{"class":243}," pacman",[233,2165,2166],{"class":488}," -S",[233,2168,2123],{"class":243},[44,2170,2171,2172,2202],{},"Запустите тест, нагружающий 90% доступной памяти на 30 минут:\n",[77,2173,2175],{"className":227,"code":2174,"language":229,"meta":85,"style":85},"stress-ng --vm 2 --vm-bytes 90% --timeout 30m --metrics-brief\n",[29,2176,2177],{"__ignoreMap":85},[233,2178,2179,2181,2184,2187,2190,2193,2196,2199],{"class":235,"line":236},[233,2180,994],{"class":239},[233,2182,2183],{"class":488}," --vm",[233,2185,2186],{"class":488}," 2",[233,2188,2189],{"class":488}," --vm-bytes",[233,2191,2192],{"class":243}," 90%",[233,2194,2195],{"class":488}," --timeout",[233,2197,2198],{"class":243}," 30m",[233,2200,2201],{"class":488}," --metrics-brief\n",[41,2203,2204,2210,2216,2222],{},[44,2205,2206,2209],{},[29,2207,2208],{},"--vm 2"," — запускает 2 процесса для нагрузки на память.",[44,2211,2212,2215],{},[29,2213,2214],{},"--vm-bytes 90%"," — каждый процесс использует 90% от общего объёма RAM.",[44,2217,2218,2221],{},[29,2219,2220],{},"--timeout 30m"," — тест длится 30 минут.",[44,2223,2224,2227],{},[29,2225,2226],{},"--metrics-brief"," — выводит краткую статистику.",[44,2229,2230,2233],{},[24,2231,2232],{},"Оцените результат:",[41,2234,2235,2242],{},[44,2236,2237,2238,2241],{},"Если команда завершилась с кодом ",[29,2239,2240],{},"0"," (без ошибок) и система не зависла/не перезагрузилась — вероятно, серьёзных проблем нет.",[44,2243,2244,2245,604,2248,2251,2252,198,2254,2257,2258,838,2261,2264],{},"Если система ",[24,2246,2247],{},"зависла",[24,2249,2250],{},"перезагрузилась"," или в ",[29,2253,74],{},[29,2255,2256],{},"journalctl"," появились сообщения об ",[29,2259,2260],{},"oom-killer",[29,2262,2263],{},"hardware error"," — это тревожный сигнал.",[1369,2266,2267],{},[21,2268,2269,2270,2273],{},"⚠️ Важно: Этот метод ",[24,2271,2272],{},"не заменяет Memtest86+",", но может служить быстрой проверкой. Запускайте его только если уверены в стабильности питания и отключите все лишние программы.",[16,2275,2277],{"id":2276},"шаг-5-локализация-неисправного-модуля-ram","Шаг 5: Локализация неисправного модуля RAM",[21,2279,2280],{},"Если Memtest86+ показал ошибки, нужно найти, какой именно модуль памяти виноват.",[130,2282,2283,2289,2299,2302,2308,2321],{},[44,2284,2285,2288],{},[24,2286,2287],{},"Выключите компьютер"," и отсоедините кабель питания.",[44,2290,2291,2294,2295,2298],{},[24,2292,2293],{},"Извлеките все планки RAM",", кроме одной. Убедитесь, что она установлена в ",[24,2296,2297],{},"рекомендованный слот"," (обычно A2 или DIMM2, см.手册 материнской платы).",[44,2300,2301],{},"Снова запустите Memtest86+ с этой единственной планкой.",[44,2303,2304,2307],{},[24,2305,2306],{},"Повторите проходы"," (минимум 4). Если ошибок нет — эта планка здорова. Если ошибки есть — она неисправна.",[44,2309,2310,2313,2314,838,2317,2320],{},[24,2311,2312],{},"Тестируйте последовательно"," каждую планку в том же слоте. Если все планки в этом слоте показывают ошибки, проблема может быть в ",[24,2315,2316],{},"слоте",[24,2318,2319],{},"канале"," памяти.",[44,2322,2323],{},"Для проверки слота: установите известную рабочую планку (например, ту, что прошла тест) в проблемный слот и запустите тест. Если ошибки появятся — неисправен слот на материнской плате.",[16,2325,2327],{"id":2326},"проверка-результата","Проверка результата",[41,2329,2330,2336],{},[44,2331,2332,2335],{},[24,2333,2334],{},"Успех (Errors = 0, Pass >= 4)",": Ваша оперативная память физически исправна. Проблемы с зависаниями, скорее всего, лежат в другой плоскости: драйверы, диск, перегрев CPU, нестабильный разгон.",[44,2337,2338,2341,2342,2345],{},[24,2339,2340],{},"Неудача (Errors > 0)",": Вы нашли неисправный модуль или слот. ",[24,2343,2344],{},"Немедленно замените модуль RAM",". Продолжение работы с битой памятью приведёт к тихому повреждению данных, краху системы и потенциальной потере информации.",[16,2347,2349],{"id":2348},"возможные-проблемы","Возможные проблемы",[41,2351,2352,2366,2376,2382,2392],{},[44,2353,2354,2357,2358,2361,2362,2365],{},[24,2355,2356],{},"Memtest86+ не видит всю память",": Убедитесь, что в BIOS/UEFI включена опция ",[29,2359,2360],{},"Memory Remap Feature"," (или аналогичная). Также проверьте, не отключена ли часть памяти из-за настройки ",[29,2363,2364],{},"iGPU"," (если есть встроенная графика).",[44,2367,2368,2371,2372,2375],{},[24,2369,2370],{},"Тест проходит, но система в Linux нестабильна",": Возможно, проблема в ",[24,2373,2374],{},"частоте/таймингах памяти (XMP/DOCP)",". Попробуйте загрузиться в BIOS/UEFI и отключить профиль разгона памяти, оставив стандартные настройки (JEDEC).",[44,2377,2378,2381],{},[24,2379,2380],{},"Ложные ошибки при разгоне CPU",": Если вы разогнали процессор (core voltage, multiplier), это может влиять на контроллер памяти (встроен в CPU на современных платформах). Перед тестом верните CPU и RAM на штатные частоты.",[44,2383,2384,2387,2388,2391],{},[24,2385,2386],{},"Нет загрузки с USB в UEFI",": В BIOS/UEFI может быть включен ",[24,2389,2390],{},"Secure Boot",". Memtest86+ (бесплатная версия) не имеет подписи, поэтому отключите Secure Boot временно для теста.",[44,2393,2394,2401,2402,2405,2406,2409,2410,121],{},[24,2395,2396,2397,2400],{},"Ошибка ",[29,2398,2399],{},"Failed to allocate memory"," в stress-ng",": Увеличьте время (",[29,2403,2404],{},"--timeout 10m",") или уменьшите нагрузку (",[29,2407,2408],{},"--vm-bytes 50%","). Убедитесь, что у системы достаточно свободной RAM (проверьте ",[29,2411,2412],{},"free -h",[506,2414],{},[16,2416,2418],{"id":2417},"дополнительные-инструменты-и-нюансы","Дополнительные инструменты и нюансы",[41,2420,2421,2427,2444,2450],{},[44,2422,2423,2426],{},[24,2424,2425],{},"Memtest86+ (платная версия)",": Официальный сайт предлагает коммерческую версию с поддержкой UEFI-загрузки в чистом виде (без совместимости с BIOS) и расширенной диагностикой. Для большинства пользователей бесплатной версии достаточно.",[44,2428,2429,2435,2436,2439,2440,2443],{},[24,2430,2431,2434],{},[29,2432,2433],{},"mprime"," (Mersenne Prime Test)",": Ещё один стресс-тест, который активно использует память. Установка: ",[29,2437,2438],{},"sudo apt install mprime"," (Ubuntu). Запуск: ",[29,2441,2442],{},"mprime -t",". Считается очень жёстким тестом.",[44,2445,2446,2449],{},[24,2447,2448],{},"Критичность",": Даже один бит ошибки в RAM — серьёзный дефект. Не пытайтесь «жить с этим». Модуль подлежит замене по гарантии, если она ещё действует.",[44,2451,2452,2455,2456,2459],{},[24,2453,2454],{},"Тест ноутбуков",": В ноутбуках память часто распаяна. Одна ошибка, обнаруженная Memtest86+, с высокой вероятностью означает неисправность ",[24,2457,2458],{},"всей материнской платы",". Обращайтесь в сервисный центр.",[21,2461,2462,2463,2466],{},"Помните: диагностика памяти — это ",[24,2464,2465],{},"аппаратный"," тест. Никакой софт в работающей ОС не даст такой же точности, как Memtest86+.",[1108,2468,2469],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":85,"searchDepth":558,"depth":558,"links":2471},[2472,2473,2474,2475,2476,2477,2478,2479,2480,2481],{"id":1801,"depth":558,"text":1802},{"id":1812,"depth":558,"text":1813},{"id":1847,"depth":558,"text":1848},{"id":1969,"depth":558,"text":1970},{"id":2019,"depth":558,"text":2020},{"id":2078,"depth":558,"text":2079},{"id":2276,"depth":558,"text":2277},{"id":2326,"depth":558,"text":2327},{"id":2348,"depth":558,"text":2349},{"id":2417,"depth":558,"text":2418},"2026-02-16 13:29:56","Узнайте, как точно диагностировать проблемы с RAM в Linux с помощью Memtest86+ и других инструментов. Пошаговая инструкция для Ubuntu, Fedora и других дистрибутивов. Проверьте память за 30 минут!","30-60 мин",[2486,2489,2492],{"question":2487,"answer":2488},"Можно ли тестировать оперативную память из-под работающей Linux-системы?","Нет, Memtest86+ требует загрузки со специального носителя, так как работает на уровне прошивки и имеет прямой доступ к железу. Для теста из-под ОС используйте `stress-ng` или `mprime`, но они менее надёжны.",{"question":2490,"answer":2491},"Сколько времени должен длиться тест Memtest86+?","Минимум 4 полных прохода (Pass) для уверенности. При первых же найденных ошибках (Errors) тест можно остановить — модуль RAM неисправен. Полный тест на 16 ГБ может занять 2-4 часа.",{"question":2493,"answer":2494},"Может ли тест памяти дать ложное срабатывание?","Да, редко, но возможно при нестабильном разгоне процессора (overclock) или проблемах с питанием. Перед тестом отключите разгон и проверьте блок питания.",[2496,2499,2502,2505,2508],{"name":2497,"text":2498},"Подготовка загрузочного носителя с Memtest86+","Скачайте образ Memtest86+ (бесплатная версия) с официального сайта и запишите его на флешку через `dd` или Rufus (в режиме DD).",{"name":2500,"text":2501},"Загрузка с носителя и запуск теста","Перезагрузите компьютер, войдите в BIOS/UEFI (Del/F2/F12), выберите загрузку с USB-флешки. Memtest86+ запустится автоматически.",{"name":2503,"text":2504},"Интерпретация результатов","Наблюдайте за строками `Pass` и `Errors`. Нулевые ошибки за несколько проходов — память здорова. Любая ошибка (даже 1) указывает на неисправный модуль.",{"name":2506,"text":2507},"Альтернатива: тест из-под Linux с помощью stress-ng","Если нет возможности перезагружаться, установите `stress-ng` и запустите `stress-ng --vm 2 --vm-bytes 90% --timeout 30m` для стресс-теста памяти в течение 30 минут.",{"name":2509,"text":2510},"Локализация неисправного модуля","При обнаружении ошибок тестируйте модули по одному: извлекайте все, кроме одного, и запускайте Memtest86+ снова. Повторяйте для каждого модуля.","PT45M",[2513,2514,2515,2516,2517,2518,2519,2520],"проверка оперативной памяти linux","memtest86+ как запустить","тест ram ubuntu","ошибки памяти linux диагностика","bad ram symptoms linux","memtest командная строка","stress-ng memory test","как проверить модули ram на ошибки",{},[2523,2524,2525],"/guides/linux/disk-space-check","/guides/linux/cpu-benchmark","/errors/linux/kernel-panic","Гайды Linux",{"title":1792,"description":2483},"guides/linux/memory-test","Этот гайд поможет вам обнаружить скрытые ошибки оперативной памяти (RAM) в системе Linux. Вы научитесь использовать Memtest86+ — «золотой стандарт» диагностики, а также альтернативные утилиты для быстрой проверки. После выполнения вы получите чёткий отчёт о состоянии вашей памяти.",[1169,2531,2526,2532,2533,2534,2535],"Диагностика","memtest","RAM","hardware","sysadmin","guide","1pJ9yi6wuZCL-UhZStAxHcqey93CrIaUMBLAWL4f2TM",{"id":2539,"title":2540,"appliesTo":2541,"author":11,"body":2545,"canonical":1120,"code":2582,"createdAt":3424,"description":3425,"difficulty":1123,"draft":1124,"estimatedTime":1125,"extension":1126,"faq":3426,"howToSteps":3439,"howToTotalTime":3458,"image":1120,"keywords":3459,"locale":1160,"meta":3470,"navigation":1162,"path":1168,"platform":1164,"related":3471,"section":1169,"seo":3475,"severity":1123,"stem":3476,"summary":3477,"tags":3478,"twitterCreator":1120,"twitterSite":1120,"type":1180,"updatedAt":3424,"__hash__":3482},"content_ru/errors/linux/io-error.md","Ошибка ввода-вывода Linux: диагностика и устранение E/I ошибок",[2542,2543,2544,1795],"Ubuntu 20.04+","Debian 10+","RHEL 8+",{"type":13,"value":2546,"toc":3411},[2547,2551,2558,2577,2584,2586,2630,2634,2639,2642,2645,2666,2669,2687,2700,2706,2712,2716,2726,2835,2837,2841,2851,3080,3084,3097,3213,3217,3220,3278,3282,3288,3334,3336,3339,3408],[16,2548,2550],{"id":2549},"что-такое-ошибки-ввода-вывода-io-errors-в-linux","Что такое ошибки ввода-вывода (I/O errors) в Linux",[21,2552,2553,2554,2557],{},"Ошибки ввода-вывода (Input/Output errors) в Linux возникают, когда система не может прочитать или записать данные на диск. Они обычно проявляются как сообщения \"Input/output error\" в логах или при попытке доступа к файлам. Например, при выполнении команды ",[29,2555,2556],{},"cat"," на файле с повреждёнными секторами может появиться:",[77,2559,2561],{"className":227,"code":2560,"language":229,"meta":85,"style":85},"cat: file.txt: Input/output error\n",[29,2562,2563],{"__ignoreMap":85},[233,2564,2565,2568,2571,2574],{"class":235,"line":236},[233,2566,2567],{"class":239},"cat:",[233,2569,2570],{"class":243}," file.txt:",[233,2572,2573],{"class":243}," Input/output",[233,2575,2576],{"class":243}," error\n",[21,2578,2579,2580,2583],{},"Эти ошибки указывают на проблемы на уровне аппаратного диска, файловой системы или драйверов. Код ошибки ",[29,2581,2582],{},"EIO"," (Error I/O) часто фигурирует в системных логах и может быть вызван как временными сбоями, так и необратимыми повреждениями носителя.",[16,2585,128],{"id":127},[130,2587,2588,2594,2600,2606,2612,2618,2624],{},[44,2589,2590,2593],{},[24,2591,2592],{},"Физические повреждения диска"," — сбойные сектора, износ механических частей (для HDD), проблемы с электроникой или деградация NAND-ячеек (для SSD).",[44,2595,2596,2599],{},[24,2597,2598],{},"Повреждение файловой системы"," — некорректное завершение работы, сбои в ядре, ошибки при записи, например, из-за внезапного отключения питания.",[44,2601,2602,2605],{},[24,2603,2604],{},"Проблемы с кабелями или контроллерами"," — плохие SATA/IDE кабели, неисправные порты на материнской плате, сбои в RAID-контроллере или драйвере.",[44,2607,2608,2611],{},[24,2609,2610],{},"Недостаток системных ресурсов"," — переполнение памяти, проблемы с подкачкой (swap), что приводит к ошибкам при доступе к диску при высокой нагрузке.",[44,2613,2614,2617],{},[24,2615,2616],{},"Устаревшие или конфликтующие драйверы"," — особенно для RAID-массивов, специализированного оборудования или новых дисков в старых системах.",[44,2619,2620,2623],{},[24,2621,2622],{},"Перегрев диска"," — может вызывать временные ошибки I/O, особенно в условиях плохой вентиляции.",[44,2625,2626,2629],{},[24,2627,2628],{},"Повреждение разделов или таблицы разделов"," — ошибки в MBR/GPT приводят к невозможности корректного доступа к данным.",[16,2631,2633],{"id":2632},"способы-решения","Способы решения",[2635,2636,2638],"h3",{"id":2637},"способ-1-проверка-системных-логов","Способ 1: Проверка системных логов",[21,2640,2641],{},"Первым делом определите, какие диски и разделы вызывают ошибки, изучив системные логи. Это поможет локализовать проблему и понять её характер.",[21,2643,2644],{},"Выполните команду для фильтрации сообщений об ошибках:",[77,2646,2648],{"className":227,"code":2647,"language":229,"meta":85,"style":85},"sudo dmesg | grep -i \"error\\|io\"\n",[29,2649,2650],{"__ignoreMap":85},[233,2651,2652,2654,2657,2659,2661,2663],{"class":235,"line":236},[233,2653,240],{"class":239},[233,2655,2656],{"class":243}," dmesg",[233,2658,655],{"class":654},[233,2660,658],{"class":239},[233,2662,1090],{"class":488},[233,2664,2665],{"class":243}," \"error\\|io\"\n",[21,2667,2668],{},"Или просмотрите основной файл логов:",[77,2670,2672],{"className":227,"code":2671,"language":229,"meta":85,"style":85},"sudo grep -i \"input/output error\" /var/log/syslog\n",[29,2673,2674],{"__ignoreMap":85},[233,2675,2676,2678,2680,2682,2685],{"class":235,"line":236},[233,2677,240],{"class":239},[233,2679,658],{"class":243},[233,2681,1090],{"class":488},[233,2683,2684],{"class":243}," \"input/output error\"",[233,2686,1096],{"class":243},[21,2688,2689,2690,604,2693,604,2696,2699],{},"В выводе ищите упоминания устройств (например, ",[29,2691,2692],{},"sda",[29,2694,2695],{},"nvme0n1",[29,2697,2698],{},"hdX",") и контекст ошибок. Например:",[77,2701,2704],{"className":2702,"code":2703,"language":82},[80],"[ 1234.567890] sd 0:0:0:0: [sda] FAILED RESULT\n[ 1234.567895] sd 0:0:0:0: [sda] Sense Key : Medium Error [current] \n[ 1234.567900] sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error\n",[29,2705,2703],{"__ignoreMap":85},[21,2707,2708,2709,2711],{},"Такой вывод указывает на физические повреждения диска ",[29,2710,2692],{},". Запишите имя устройства для дальнейших действий.",[2635,2713,2715],{"id":2714},"способ-2-запуск-проверки-файловой-системы-fsck","Способ 2: Запуск проверки файловой системы (fsck)",[21,2717,2718,2719,2721,2722,2725],{},"Если логи указывают на повреждение файловой системы (например, ошибки суперблока, inode), используйте ",[29,2720,730],{},". ",[24,2723,2724],{},"Важно:"," раздел должен быть отмонтирован, иначе возможна потеря данных.",[130,2727,2728,2756,2780,2811],{},[44,2729,2730,2731,838,2734,2737,2738,2750,2752,2753,121],{},"Определите раздел с ошибками через ",[29,2732,2733],{},"lsblk",[29,2735,2736],{},"df -h",". Например:",[77,2739,2741],{"className":227,"code":2740,"language":229,"meta":85,"style":85},"lsblk -f\n",[29,2742,2743],{"__ignoreMap":85},[233,2744,2745,2747],{"class":235,"line":236},[233,2746,2733],{"class":239},[233,2748,2749],{"class":488}," -f\n",[138,2751],{},"Найдите точку монтирования и устройство (например, ",[29,2754,2755],{},"/dev/sda1",[44,2757,2758,2759,2774,2776,2777,2779],{},"Отмонтируйте раздел:",[77,2760,2762],{"className":227,"code":2761,"language":229,"meta":85,"style":85},"sudo umount /dev/sdX1\n",[29,2763,2764],{"__ignoreMap":85},[233,2765,2766,2768,2771],{"class":235,"line":236},[233,2767,240],{"class":239},[233,2769,2770],{"class":243}," umount",[233,2772,2773],{"class":243}," /dev/sdX1\n",[138,2775],{},"Если раздел корневой (",[29,2778,198],{},") или используется, загрузитесь с Live-USB (например, Ubuntu Live) или используйте режим восстановления.",[44,2781,2782,2783,2785,2786,2802,2804,2805,2807,2808,151],{},"Запустите ",[29,2784,730],{}," с автоматическим исправлением:",[77,2787,2789],{"className":227,"code":2788,"language":229,"meta":85,"style":85},"sudo fsck -y /dev/sdX1\n",[29,2790,2791],{"__ignoreMap":85},[233,2792,2793,2795,2797,2800],{"class":235,"line":236},[233,2794,240],{"class":239},[233,2796,688],{"class":243},[233,2798,2799],{"class":488}," -y",[233,2801,2773],{"class":243},[138,2803],{},"Для ext4 это безопасно, но для других файловых систем (например, XFS) ",[29,2806,730],{}," не поддерживается — используйте ",[29,2809,2810],{},"xfs_repair",[44,2812,2813,2814,2832,2834],{},"После завершения перемонтируйте раздел:",[77,2815,2817],{"className":227,"code":2816,"language":229,"meta":85,"style":85},"sudo mount /dev/sdX1 /mount/point\n",[29,2818,2819],{"__ignoreMap":85},[233,2820,2821,2823,2826,2829],{"class":235,"line":236},[233,2822,240],{"class":239},[233,2824,2825],{"class":243}," mount",[233,2827,2828],{"class":243}," /dev/sdX1",[233,2830,2831],{"class":243}," /mount/point\n",[138,2833],{},"Проверьте, исчезли ли ошибки при доступе к файлам.",[506,2836],{},[2635,2838,2840],{"id":2839},"способ-3-диагностика-диска-с-помощью-smart","Способ 3: Диагностика диска с помощью SMART",[21,2842,2843,2844,2847,2848,2850],{},"Утилита ",[29,2845,2846],{},"smartctl"," из пакета ",[29,2849,534],{}," анализирует атрибуты SMART, предсказывающие отказ диска.",[130,2852,2853,2924,2960,3009],{},[44,2854,2855,2856,535,2858],{},"Установите ",[29,2857,534],{},[77,2859,2861],{"className":227,"code":2860,"language":229,"meta":85,"style":85},"# Для Debian/Ubuntu\nsudo apt update && sudo apt install smartmontools\n\n# Для RHEL/CentOS\nsudo yum install smartmontools\n\n# Для Arch\nsudo pacman -S smartmontools\n",[29,2862,2863,2868,2887,2891,2896,2906,2910,2914],{"__ignoreMap":85},[233,2864,2865],{"class":235,"line":236},[233,2866,2867],{"class":554},"# Для Debian/Ubuntu\n",[233,2869,2870,2872,2874,2876,2878,2880,2882,2884],{"class":235,"line":558},[233,2871,240],{"class":239},[233,2873,244],{"class":243},[233,2875,247],{"class":243},[233,2877,251],{"class":250},[233,2879,240],{"class":239},[233,2881,244],{"class":243},[233,2883,258],{"class":243},[233,2885,2886],{"class":243}," smartmontools\n",[233,2888,2889],{"class":235,"line":771},[233,2890,2128],{"emptyLinePlaceholder":1162},[233,2892,2893],{"class":235,"line":777},[233,2894,2895],{"class":554},"# Для RHEL/CentOS\n",[233,2897,2898,2900,2902,2904],{"class":235,"line":2136},[233,2899,240],{"class":239},[233,2901,276],{"class":243},[233,2903,258],{"class":243},[233,2905,2886],{"class":243},[233,2907,2908],{"class":235,"line":2147},[233,2909,2128],{"emptyLinePlaceholder":1162},[233,2911,2912],{"class":235,"line":2152},[233,2913,2155],{"class":554},[233,2915,2916,2918,2920,2922],{"class":235,"line":2158},[233,2917,240],{"class":239},[233,2919,2163],{"class":243},[233,2921,2166],{"class":488},[233,2923,2886],{"class":243},[44,2925,2926,2927,2944,2946,2947,2953,2955,2956,2959],{},"Проверьте общий статус здоровья диска:",[77,2928,2930],{"className":227,"code":2929,"language":229,"meta":85,"style":85},"sudo smartctl -H /dev/sdX\n",[29,2931,2932],{"__ignoreMap":85},[233,2933,2934,2936,2938,2941],{"class":235,"line":236},[233,2935,240],{"class":239},[233,2937,587],{"class":243},[233,2939,2940],{"class":488}," -H",[233,2942,2943],{"class":243}," /dev/sdX\n",[138,2945],{},"Пример вывода:",[77,2948,2951],{"className":2949,"code":2950,"language":82},[80],"SMART overall-health self-assessment test result: PASSED\n",[29,2952,2950],{"__ignoreMap":85},[138,2954],{},"Если ",[29,2957,2958],{},"FAILED",", диск требует замены.",[44,2961,2962,2963,2979,2981,2982],{},"Получите детальную информацию об атрибутах:",[77,2964,2966],{"className":227,"code":2965,"language":229,"meta":85,"style":85},"sudo smartctl -A /dev/sdX\n",[29,2967,2968],{"__ignoreMap":85},[233,2969,2970,2972,2974,2977],{"class":235,"line":236},[233,2971,240],{"class":239},[233,2973,587],{"class":243},[233,2975,2976],{"class":488}," -A",[233,2978,2943],{"class":243},[138,2980],{},"Ключевые атрибуты для анализа:",[41,2983,2984,2989,2994,3000],{},[44,2985,2986,2988],{},[29,2987,603],{}," — количество переназначенных секторов. Ненулевые значения указывают на износ.",[44,2990,2991,2993],{},[29,2992,607],{}," — сектора, ожидающие переназначения. Любое значение — тревога.",[44,2995,2996,2999],{},[29,2997,2998],{},"UDMA_CRC_Error_Count"," — ошибки передачи данных, часто из-за плохого кабеля.",[44,3001,3002,976,3005,3008],{},[29,3003,3004],{},"SMART 5 (Reallocated Sectors Count)",[29,3006,3007],{},"SMART 187 (Reported Uncorrectable Errors)"," — критические для HDD.",[44,3010,3011,3012,3029,3031,3032,3055,3057,3058,3077,3079],{},"Запустите расширенный самодиагностический тест (может занять несколько часов):",[77,3013,3015],{"className":227,"code":3014,"language":229,"meta":85,"style":85},"sudo smartctl -t long /dev/sdX\n",[29,3016,3017],{"__ignoreMap":85},[233,3018,3019,3021,3023,3025,3027],{"class":235,"line":236},[233,3020,240],{"class":239},[233,3022,587],{"class":243},[233,3024,627],{"class":488},[233,3026,630],{"class":243},[233,3028,2943],{"class":243},[138,3030],{},"Отслеживайте прогресс:",[77,3033,3035],{"className":227,"code":3034,"language":229,"meta":85,"style":85},"sudo smartctl -a /dev/sdX | grep \"Self-test\"\n",[29,3036,3037],{"__ignoreMap":85},[233,3038,3039,3041,3043,3045,3048,3050,3052],{"class":235,"line":236},[233,3040,240],{"class":239},[233,3042,587],{"class":243},[233,3044,590],{"class":488},[233,3046,3047],{"class":243}," /dev/sdX",[233,3049,655],{"class":654},[233,3051,658],{"class":239},[233,3053,3054],{"class":243}," \"Self-test\"\n",[138,3056],{},"После завершения проверьте результаты:",[77,3059,3061],{"className":227,"code":3060,"language":229,"meta":85,"style":85},"sudo smartctl -l selftest /dev/sdX\n",[29,3062,3063],{"__ignoreMap":85},[233,3064,3065,3067,3069,3072,3075],{"class":235,"line":236},[233,3066,240],{"class":239},[233,3068,587],{"class":243},[233,3070,3071],{"class":488}," -l",[233,3073,3074],{"class":243}," selftest",[233,3076,2943],{"class":243},[138,3078],{},"Ошибки в тесте подтверждают hardware-проблему.",[2635,3081,3083],{"id":3082},"способ-4-проверка-на-bad-blocks","Способ 4: Проверка на bad blocks",[21,3085,2843,3086,3089,3090,3092,3093,3096],{},[29,3087,3088],{},"badblocks"," ищет физически повреждённые блоки. ",[24,3091,726],{}," опция записи (",[29,3094,3095],{},"-w",") уничтожает все данные на диске! Используйте только на пустых или резервных дисках.",[130,3098,3099,3129,3174],{},[44,3100,3101,3102,3119,3121,3124,3125,3128],{},"Для безопасного сканирования только на чтение:",[77,3103,3105],{"className":227,"code":3104,"language":229,"meta":85,"style":85},"sudo badblocks -sv /dev/sdX\n",[29,3106,3107],{"__ignoreMap":85},[233,3108,3109,3111,3114,3117],{"class":235,"line":236},[233,3110,240],{"class":239},[233,3112,3113],{"class":243}," badblocks",[233,3115,3116],{"class":488}," -sv",[233,3118,2943],{"class":243},[138,3120],{},[29,3122,3123],{},"-s"," показывает прогресс, ",[29,3126,3127],{},"-v"," — подробный вывод. Для диска 1 ТБ это может занять 10+ часов.",[44,3130,2955,3131,3133,3134,3136,3137,3171,3173],{},[29,3132,3088],{}," обнаруживает ошибки, создайте список и передайте его ",[29,3135,730],{}," для маркировки сбойных блоков:",[77,3138,3140],{"className":227,"code":3139,"language":229,"meta":85,"style":85},"sudo badblocks -sv /dev/sdX > badblocks.txt\nsudo fsck -l badblocks.txt /dev/sdX1\n",[29,3141,3142,3158],{"__ignoreMap":85},[233,3143,3144,3146,3148,3150,3152,3155],{"class":235,"line":236},[233,3145,240],{"class":239},[233,3147,3113],{"class":243},[233,3149,3116],{"class":488},[233,3151,3047],{"class":243},[233,3153,3154],{"class":654}," >",[233,3156,3157],{"class":243}," badblocks.txt\n",[233,3159,3160,3162,3164,3166,3169],{"class":235,"line":558},[233,3161,240],{"class":239},[233,3163,688],{"class":243},[233,3165,3071],{"class":488},[233,3167,3168],{"class":243}," badblocks.txt",[233,3170,2773],{"class":243},[138,3172],{},"Это предотвратит использование повреждённых блоков файловой системой.",[44,3175,3176,3177,3193,3195,3196,3210,3212],{},"Для полного стирания и проверки (опасно, данные удаляются безвозвратно):",[77,3178,3180],{"className":227,"code":3179,"language":229,"meta":85,"style":85},"sudo badblocks -wsv /dev/sdX\n",[29,3181,3182],{"__ignoreMap":85},[233,3183,3184,3186,3188,3191],{"class":235,"line":236},[233,3185,240],{"class":239},[233,3187,3113],{"class":243},[233,3189,3190],{"class":488}," -wsv",[233,3192,2943],{"class":243},[138,3194],{},"После этого пересоздайте файловую систему:",[77,3197,3199],{"className":227,"code":3198,"language":229,"meta":85,"style":85},"sudo mkfs.ext4 /dev/sdX1\n",[29,3200,3201],{"__ignoreMap":85},[233,3202,3203,3205,3208],{"class":235,"line":236},[233,3204,240],{"class":239},[233,3206,3207],{"class":243}," mkfs.ext4",[233,3209,2773],{"class":243},[138,3211],{},"Используйте только если диск новый или вы готовы потерять данные.",[2635,3214,3216],{"id":3215},"способ-5-проверка-кабелей-и-контроллеров","Способ 5: Проверка кабелей и контроллеров",[21,3218,3219],{},"Аппаратные проблемы часто вызывают I/O ошибки, особенно если они носят прерывистый характер.",[41,3221,3222,3228,3234,3272],{},[44,3223,3224,3227],{},[24,3225,3226],{},"Кабели:"," замените SATA/IDE кабели на новые, проверьте целостность коннекторов. Для NVMe убедитесь, что карта правильно вставлена в слот.",[44,3229,3230,3233],{},[24,3231,3232],{},"Порты:"," подключите диск к другому порту на материнской плате или используйте отдельный PCIe-контроллер (например, для SATA).",[44,3235,3236,3239,3240,3265,3267,3268,3271],{},[24,3237,3238],{},"RAID-массивы:"," если используется software RAID (mdadm), проверьте состояние:",[77,3241,3243],{"className":227,"code":3242,"language":229,"meta":85,"style":85},"cat /proc/mdstat\nsudo mdadm --detail /dev/mdX\n",[29,3244,3245,3252],{"__ignoreMap":85},[233,3246,3247,3249],{"class":235,"line":236},[233,3248,2556],{"class":239},[233,3250,3251],{"class":243}," /proc/mdstat\n",[233,3253,3254,3256,3259,3262],{"class":235,"line":558},[233,3255,240],{"class":239},[233,3257,3258],{"class":243}," mdadm",[233,3260,3261],{"class":488}," --detail",[233,3263,3264],{"class":243}," /dev/mdX\n",[138,3266],{},"Для hardware RAID используйте утилиты производителя контроллера (например, ",[29,3269,3270],{},"storcli"," для LSI).",[44,3273,3274,3277],{},[24,3275,3276],{},"Питание:"," убедитесь, что диск получает стабильное питание. При использовании нескольких дисков проверьте мощность блока питания.",[2635,3279,3281],{"id":3280},"способ-6-замена-диска-при-критических-ошибках","Способ 6: Замена диска при критических ошибках",[21,3283,3284,3285,3287],{},"Если диагностика (SMART, badblocks) показывает неисправность диска, а ",[29,3286,730],{}," не помогает, диск, скорее всего, физически повреждён. В этом случае:",[130,3289,3290,3296,3317],{},[44,3291,3292,3295],{},[24,3293,3294],{},"Срочно замените диск"," на новый аналогичный или большей ёмкости.",[44,3297,3298,3301,3302],{},[24,3299,3300],{},"Восстановите данные"," из последней резервной копии. Если её нет, попробуйте:\n",[41,3303,3304,3307],{},[44,3305,3306],{},"Смонтировать диск в read-only режиме на другой системе.",[44,3308,3309,3310,604,3313,3316],{},"Использовать инструменты восстановления (",[29,3311,3312],{},"testdisk",[29,3314,3315],{},"photorec","), но успех не гарантирован при физических повреждениях.",[44,3318,3319,3320],{},"После замены:\n",[41,3321,3322,3328,3331],{},[44,3323,3324,3325,151],{},"Создайте новую файловую систему: ",[29,3326,3327],{},"sudo mkfs.ext4 /dev/sdX1",[44,3329,3330],{},"Восстановите данные из бэкапа.",[44,3332,3333],{},"Настройте мониторинг SMART для нового диска.",[16,3335,956],{"id":955},[21,3337,3338],{},"Чтобы минимизировать риск ошибок ввода-вывода в будущем:",[41,3340,3341,3353,3372,3378,3384,3396,3402],{},[44,3342,3343,1941,3346,604,3349,3352],{},[24,3344,3345],{},"Регулярное резервное копирование:",[29,3347,3348],{},"rsync",[29,3350,3351],{},"borg"," или облачные сервисы. Храните копии на другом физическом носителе.",[44,3354,3355,3358,3359,3362,3363,535,3366],{},[24,3356,3357],{},"Мониторинг SMART:"," настройте демон ",[29,3360,3361],{},"smartd"," для ежедневных тестов и оповещений по email. Пример конфигурации в ",[29,3364,3365],{},"/etc/smartd.conf",[77,3367,3370],{"className":3368,"code":3369,"language":82},[80],"DEVICESCAN -a -o on -S on -s (S/../.././02|L/../../6/03)\n",[29,3371,3369],{"__ignoreMap":85},[44,3373,3374,3377],{},[24,3375,3376],{},"Качественные компоненты:"," выбирайте диски с высокой надёжностью (например, NAS- или серверные модели) и проверенные кабели.",[44,3379,3380,3383],{},[24,3381,3382],{},"Защита от сбоев питания:"," используйте ИБП (UPS) и настройте корректное завершение работы при отключении.",[44,3385,3386,3389,3390,838,3393,3395],{},[24,3387,3388],{},"Контроль температуры:"," установите утилиты вроде ",[29,3391,3392],{},"hddtemp",[29,3394,2846],{}," для мониторинга. Температура HDD выше 50°C, SSD выше 70°C — повод для улучшения охлаждения.",[44,3397,3398,3401],{},[24,3399,3400],{},"Обновление системы:"," регулярно обновляйте ядро и драйверы, особенно для RAID-контроллеров и новых дисков.",[44,3403,3404,3407],{},[24,3405,3406],{},"Избегайте перегрузки диска:"," не запускайте одновременно множество интенсивных операций записи, особенно на старых HDD.",[1108,3409,3410],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":85,"searchDepth":558,"depth":558,"links":3412},[3413,3414,3415,3423],{"id":2549,"depth":558,"text":2550},{"id":127,"depth":558,"text":128},{"id":2632,"depth":558,"text":2633,"children":3416},[3417,3418,3419,3420,3421,3422],{"id":2637,"depth":771,"text":2638},{"id":2714,"depth":771,"text":2715},{"id":2839,"depth":771,"text":2840},{"id":3082,"depth":771,"text":3083},{"id":3215,"depth":771,"text":3216},{"id":3280,"depth":771,"text":3281},{"id":955,"depth":558,"text":956},"2026-02-16 12:50:01","Пошаговое руководство по диагностике и устранению ошибок ввода-вывода в Linux. Инструкции по использованию fsck, smartctl и badblocks для восстановления дисков. Для Ubuntu, Debian, CentOS.",[3427,3430,3433,3436],{"answer":3428,"question":3429},"Ошибки I/O обычно вызваны физическими повреждениями диска, проблемами с кабелями или контроллером, повреждением файловой системы или нехваткой системных ресурсов.","Что вызывает ошибки ввода-вывода в Linux?",{"answer":3431,"question":3432},"Используйте утилиту `badblocks` в сочетании с `fsck` или напрямую для сканирования диска. Пример: `sudo badblocks -sv /dev/sdX`.","Как проверить диск на bad blocks?",{"answer":3434,"question":3435},"В некоторых случаях да, если повреждена только файловая система. Используйте `fsck` для восстановления. При физических повреждениях данные могут быть утеряны.","Можно ли исправить ошибки ввода-вывода без потери данных?",{"answer":3437,"question":3438},"Если `fsck` не исправляет ошибки, возможно, есть физические повреждения. Проверьте диск с помощью `smartctl` и рассмотрите замену накопителя.","Что делать, если fsck не помогает?",[3440,3443,3446,3449,3452,3455],{"name":3441,"text":3442},"Проверка системных логов","Изучите логи системы на наличие сообщений об ошибках ввода-вывода с помощью команды `dmesg | grep -i error` или просмотра файла `/var/log/syslog`.",{"name":3444,"text":3445},"Запуск проверки файловой системы (fsck)","Отключите раздел и запустите `fsck` для проверки и исправления ошибок файловой системы. Пример: `sudo fsck -y /dev/sdX1`.",{"name":3447,"text":3448},"Диагностика диска с помощью SMART","Используйте `smartctl` для получения статуса SMART диска. Пример: `sudo smartctl -a /dev/sdX` и проверьте атрибуты, такие как Reallocated_Sector_Ct.",{"name":3450,"text":3451},"Проверка на bad blocks","Запустите `badblocks` для поиска сбойных блоков. Для чтения: `sudo badblocks -sv /dev/sdX`. Для записи (опасно, стирает данные): `sudo badblocks -wsv /dev/sdX`.",{"name":3453,"text":3454},"Проверка кабелей и контроллеров","Физически проверьте подключение диска (кабели SATA/IDE) и попробуйте другой порт или контроллер, чтобы исключить аппаратные проблемы.",{"name":3456,"text":3457},"Замена диска при критических ошибках","Если диагностика показывает неисправность диска, замените его и восстановите данные из резервной копии.","PT30M",[3460,3461,3462,3463,3464,3465,3466,3467,3468,3469],"ошибка ввода-вывода linux","linux io error","диск не читается linux","ошибка чтения диска","восстановление файловой системы linux","fsck команда","smartctl пример","badblocks использование","ошибка eio linux","диск ошибки ввода-вывода",{},[3472,3473,3474],"/errors/linux/disk-errors","/guides/linux/fsck-repair","/errors/linux/smart-failure",{"title":2540,"description":3425},"errors/linux/io-error","Статья описывает ошибки ввода-вывода в Linux, их причины и предоставляет практические методы диагностики и исправления с помощью стандартных утилит.",[1169,3479,3480,3481,730,2846,3088,2582],"Диски","Файловая система","I/O","4NS4Bz2gkWDlyUTfIE2r8wu0XLkDbx7elT8pzGclc_0"]