pidin times
QNX 6.4.1에는 프로세스에 대한 정보를 표시할 수 있는 명령이 있습니다 . 나는 이것이 PID 정보를 의미한다고 생각합니다. 이 외에도 프로세스가 시작된 이후 사용한 CPU의 양도 확인할 수 있습니다.
/usr/sbin/random
내 시스템은 약 10시간 실행 후 거의 2분 동안 프로세서 사용률을 보여주었습니다. 내 코드 호출에는 아무 것도 없기 때문에 이것은 많은 것 같습니다 /usr/sbin/random
.
하지만 지금은 네트워크 활동(UDP 및 TCP)이 많아 네트워크 드라이버가 random
패킷 충돌로 인해 동적 충돌 백오프 시간을 얻기 위해 호출하는 것인지 궁금합니다.
이 이론이 맞을 수 있을까? (그렇습니다. 얼마나 믿을만한가요?) 그렇지 않다면 추가적으로 확인해야 할 사항이 있나요? 어제는 없었던 대기 시간 문제가 현재 시스템에 발생하고 있으며, 무슨 일이 일어나고 있는지 알고 싶습니다. 이 특정 단서는 문제를 파악하는 데 도움이 될 수 있습니다.
고쳐 쓰다
추가 조사 nicinfo
결과 패킷 충돌이 전혀 없는 것으로 나타났습니다. 이것으로 동적 충돌 백오프 시간에 대한 이론을 마무리합니다. 다른 아이디어가 있나요?
또 다른 업데이트
이것이 내 질문에 대한 답을 찾는 데 도움이 되지만(SSHD는 물론 임의성을 사용합니다!!) 주의하세요. SSH를 사용하는 경우 random
로그인 작업을 해야 합니다 . 어떤 이유로 내 스크립트의 호출이 random.old
작동하지 않고 내 임베디드 시스템이 거의 벽돌로 덮여 있습니다. 그러니 조심해.
답변1
미친 문제 해결 아이디어: 허니팟/가난한 사람의 프로세스 회계를 만듭니다.
백업하기
/usr/bin/random
cp -p /usr/bin/random /usr/bin/random.bak
touch /tmp/who_is_calling_random.log ; chmod 622 /tmp/who_is_calling_random.log
이 셸 스크립트 로 바꿉니다
/usr/bin/random
(필요한 경우 /tmp와 다른 경로를 사용할 수 있지만 전역적으로 쓰기 가능한지 확인하세요).#!/bin/sh echo "`date` $USER $$ $@" >> /tmp/who_is_calling_random.log /usr/bin/random.bak "$@"
chmod 755 /usr/bin/random
시스템을 다시 시작하십시오.
허니팟 로그에 수집된 내용을 확인하세요. 이는 무작위 배정 프로그램 뒤에 있는 사람/사물에 대한 기록이어야 합니다.
tail -f /tmp/who_is_calling_random.log
random
1단계에서 만든 백업에서 복원합니다.시스템을 다시 시작하십시오.