Программное обеспечение Cisco IOS и NX-OS : Программное обеспечение Cisco IOS версии 12.0 Mainline

Устранение неполадок, связанных с фиктивным доступом, ошибками выравнивания и фиктивными прерываниями

31 июля 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (2 августа 2006) | Отзыв

Интерактивный: В данном документе содержится анализ конкретного устройства Cisco.


Содержание

Введение
Предварительные условия
     Требования
     Используемые компоненты
     Условные обозначения
Фиктивный доступ
     Причина
     Обработка программного обеспечение Cisco IOS
     Проверка ошибок фиктивного доступа
     Исправление ошибок фиктивного доступа
Ошибки выравнивания
     Причина
     Проверка ошибок выравнивания
     Исправление ошибок выравнивания
Фиктивные прерывания
Сведения, необходимые при обращении в Центр технической поддержки
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

В данном документе описываются три типа ошибок: фиктивный доступ, ошибки выравнивания и фиктивные прерывания, с которыми можно столкнуться при работе с устройствами под управлением системы Cisco IOS®.

Если есть выходные данные команды show alignment от устройства Cisco, то можно использовать для выявления проблем и поиска их решений. Для работы с необходимо быть зарегистрированным пользователем и выполнить вход, при этом должна быть включена поддержка JavaScript.

Предварительные условия

Требования

Для данного документа нет особых требований.

Используемые компоненты

Данная команда не поддерживается на всех платформах, за исключением процессоров RISC (процессор с архитектурой вычислений с сокращенным набором команд).

Команда show alignment появилась в версии 12.3(7)T и отсутствовала в более ранних версиях.

Условные обозначения

Дополнительные сведения об условных обозначениях в документах см. в статье Условные обозначения технических терминов Cisco.

Фиктивный доступ

Фиктивный доступ — это попытка программного обеспечения Cisco IOS получить доступ к памяти в ограниченном расположении. Пример вывода системного журнала для фиктивного доступа показан ниже:

%ALIGN-3-SPURIOUS: Spurious memory access made at 0x60968C44 reading 0x0
%ALIGN-3-TRACE: -Traceback= 60968C44 60269808 602389D8 00000000 00000000 00000000 
00000000 00000000

Причина

Фиктивный доступ происходит, когда процесс пытается обратиться к наименьшей зоне памяти (16 Кбайт). Эта часть памяти - резервная, ей не следует пользоваться. В этой области памяти операция чтения обычно выполняется при возврате функции в программном обеспечении несуществующего значения, или, иными словами, при передаче функции пустого указателя.

Обработка программного обеспечения Cisco IOS

В зависимости от платформы ПО Cisco IOS по-разному обрабатывает фиктивный доступ. На тех платформах, где это возможно, код программного обеспечения Cisco IOS обрабатывает подложный доступ, возвращая значение ноль и записывая событие. Если это не поддерживается платформой, на маршрутизаторе произойдет ошибка SegV. Поскольку фиктивный доступ неприемлем, любые случаи фиктивного доступа всегда указывают на ошибку.

Проверка ошибок фиктивного доступа

По возможности, программа Cisco IOS подсчитывает и регистрирует попытки фиктивного доступа. Эту информацию можно получить с помощью команды show alignment. Данные, полученные в результате отслеживания (трассировки) в обратном порядке, необходимы для определения причин произошедших попыток фиктивного доступа и способов их устранения.

Примечание. Команда show alignment является скрытой, и по ней нет документации. Данная команда также не поддерживается на всех платформах, за исключением процессоров с архитектурой вычислений с сокращенным набором команд [RISC]. Пример выходных данных команды show alignment показан ниже:

Router#show alignment 
Alignment data for: 
GS Software (RSP-PV-M), Version 11.1(26.1)CC, EARLY DEPLOYMENT MAINTENANCE INTER 
IM SOFTWARE 
Compiled Thu 27-May-99 20:48 by jjgreen 

No alignment data has been recorded. 

Total Spurious Accesses 167110746, Recorded 2 

Address  Count  Traceback 
      0  10474  0x6012D488  0x6020FFB4 0x601D5CE0 
      0  49008  0x6012D488  0x6020D25C 0x6020E744 0x602106B4
Router#

Исправление ошибок фиктивного доступа

Ошибки фиктивного доступа всегда происходят из-за сбоев программного обеспечения Cisco IOS. Чтобы устранить эту проблему, обновите программное обеспечение до последней версии серии, например, если используется версия системы Cisco IOS® 11.2(14), следует выполнить обновление до последней версии 11.2(x). Если это не решает проблему, либо не удается обновить маршрутизатор, обратитесь в центр технической поддержки Cisco. При открытии запроса для сообщения о попытках фиктивного доступа включите следующие сведения:

  • выходные данные команды show version

  • выходные данные команды show tech-support

  • соответствующие системные журналы

Ошибки выравнивания

Ниже приведен пример системного журнала в случае ошибки выравнивания:

%ALIGN-3-CORRECT: Alignment correction made at 0x60262478 reading/writing 0x60A9FF5C

Причина

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

Проверка ошибок выравнивания

Ошибки выравнивания записываются в журнал и сохраняются маршрутизатором. Выходные команды show alignment предоставляют запись этих ошибок наряду с данными обратной трассировки, которые могут оказаться полезными. Коды обратной трассировки для ошибок выравнивания в общем случае могут быть расшифрованы и позволяют обнаружить функцию, приводящую к ошибкам выравнивания.

Примечание. Команда show alignment является скрытой, и по ней нет документации. Данная команда также не поддерживается на всех платформах (ее поддерживают только маршрутизаторы высокого класса). Пример выходных данных команды show alignment показан ниже:

Router#show alignment
Alignment data for: 
RSP Software (RSP-ISV-M), Version 11.3(3a), RELEASE SOFTWARE (fc1) 
Compiled Fri 01-May-98 18:28 by phanguye

Total Corrections 6, Recorded 2, Reads 6, Writes 0 

Initial Initial 
Address    Count  Access  Type  Traceback 
60EF3765   3      32bit   read  0x60262474 0x601AC594 0x601AC580 
60EF3761   3      32bit   read  0x60262478 0x601AC594 0x601AC580 

No spurious memory references have been recorded. 

Router#

Исправление ошибок выравнивания

Ошибки выравнивания в общем случае можно исправить программными средствами, и, в таком случае, они не приводят к фатальным сбоям. Исправление ошибок выравнивания, однако, расходует ресурсы процессора и может привести к снижению производительности. Если ошибки выравнивания происходят постоянно, маршрутизатор может тратить большую часть времени на их исправление, тем самым увеличивая загрузку процессора. Эти ошибки исправляются во время прерывания.

Фиктивные прерывания

Фиктивные прерывания — это не то же самое, что попытки фиктивного доступа к памяти.

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

Команда show align выдает информацию о попытках фиктивного доступа к памяти, но не о фиктивных прерываниях. Единственные сведения о фиктивных прерываниях, которые можно получить от системы, находятся в выходных данных команды show stacks, там есть счетчик таких прерываний.

Router#show stacks
Minimum process stacks:
 Free/Size   Name
 3692/4000   DHCPD Receive
 4796/6000   Router Init
 1904/4000   Init
 3408/4000   RADIUS INITCONFIG
 4228/5000   DHCP Client
 2468/4000   Exec

Interrupt level stacks:
Level    Called Unused/Size  Name
  3           0   3000/3000  Serial interface state change interrupt
  4    54351439   1760/3000  Network interfaces
  5       64181   2872/3000  Console Uart

Spurious interrupts: 29 

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

Пара фиктивных прерываний не приводит к сильному увеличению загрузки процессора. Если это единственный симптом, возникающий на маршрутизаторе или коммутаторе, а все остальное работает надлежащим образом (нет отброшенных пакетов и т. д.), то фиктивные прерывания можно проигнорировать.

Маршрутизаторы Cisco, базирующиеся на процессоре 68 кбит (то есть Cisco 1000, 1600, 2500, 4000 и 7000 (RP)), можно настроить таким образом, чтобы они делали выгрузку содержимого памяти (дамп), если количество фиктивных прерываний достигает определенного порогового значения.

Router(config)#exception ? 
core-file           Set name of core dump file
crashinfo           Crashinfo collection
dump                Set name of host to dump to
flash               Set the device and erase permission
memory              Memory leak debugging
protocol            Set protocol for sending core file
region-size         Size of region for exception-time memory pool
spurious-interrupt  Crash after a given number of spurious interrupts

Router(config)#exception spurious-interrupt ? 
  <1-4294967295>  Spurious interrupt threshold

Дополнительные сведения о выгрузке содержимого памяти см. в разделе Выгрузка содержимого памяти (дамп). Эти сведения могут потребоваться Центру технической помощи в случае снижения производительности из-за фиктивных прерываний. Если причина в этом, количество фиктивных прерываний должно быть велико и продолжать расти, а также возможно отбрасывание пакетов и снижение производительности.

Сведения, необходимые при обращении в Центр технической поддержки

Если после выполнения вышеуказанных инструкций по устранению неполадок поддержка все еще необходима и нужно создать запрос на обслуживание (только для зарегистрированных клиентов) в службу технической поддержки Cisco, следует обязательно включить нижеследующую информацию в сообщение о возникшей ошибке для устранения неполадок, связанных с попытками фиктивного доступа, ошибками выравнивания и фиктивными прерываниями.

  • Устранение неисправностей перед созданием запроса на обслуживание

  • Выходные данные команды show technical-support (в активном режиме, если возможно)

  • Выходные данные команды show alignment (в случае, если они уже не были включены в выходные данные команды show technical-support)

  • Выходные данные команды show log или снимки консоли (если имеются)

Присоедините собранные данные к запросу на обслуживание в простом текстовом формате (.txt), не архивируя вложенный файл. Приложить информацию к запросу можно путем ее загрузки с помощью интерфейса TAC Service Request (только для зарегистрированных клиентов). Если не удается получить доступ к Service Request Tool, можно присоединить дополнительные данные к запросу на обслуживание и отослать их на адрес attach@cisco.com, указав номер запроса в теме письма.

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


Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 15103