Unter Verwendung von QNX 6.4.1 wird ein Befehl aufgerufen pidin times
, der Informationen zu Prozessen anzeigt. Ich denke, es bedeutet PID-Informationen. Unter anderem können Sie sehen, wie viel CPU ein Prozess seit seinem Start verbraucht hat.
Ich habe ein System, das eine Prozessorauslastung von fast 2 Minuten anzeigt, /usr/sbin/random
nachdem das System etwa 10 Stunden lang ausgeführt wurde. Das scheint viel zu sein, da nichts in meinem Code aufruft /usr/sbin/random
.
Derzeit gibt es jedoch viele Netzwerkaktivitäten (UDP und TCP). Daher frage ich mich, ob der Netzwerktreiber random
aufgrund von Paketkollisionen dynamische Backoff-Zeiten für Kollisionen anruft .
Könnte diese Theorie richtig sein? (Okay, wie plausibel ist das?) Wenn nicht, sollte ich noch etwas überprüfen? Derzeit gibt es Latenzprobleme mit diesem System, die gestern nicht existierten, und ich möchte herausfinden, was los ist. Dieser spezielle Hinweis kann helfen, das Problem einzugrenzen.
Aktualisieren
Weitere Untersuchungen unter Verwendung von nicinfo
ergaben überhaupt keine Paketkollisionen. Da ist also meine Theorie der dynamischen Kollisions-Backoff-Zeit. Irgendwelche anderen Ideen?
Ein weiteres Update
Während dies dazu beitrug, die Antwort auf mein Problem zu finden (SSHD verwendete natürlich zufällig !!), seien Sie vorsichtig. Wenn Sie SSH verwenden, ist eine Funktion erforderlich random
, damit Sie sich anmelden können. Aus irgendeinem Grund random.old
funktionierte der Aufruf in meinem Skript nicht und ich habe mein eingebettetes System fast zugemauert. Also sei vorsichtig.
/usr/bin/random
wird nicht vom Betriebssystem verwendet, ich denke, es ist eine Benutzeranwendung, die zufällige Zeilen einer Datei druckt. Es wird in Shell-Skripten verwendet.random
Dienstprogramm, das Zufallszahlen generiert. Ich weiß nicht, was auf dem System verwendet wird.Antworten:
Verrückte Idee zur Fehlerbehebung: Erstellen Sie eine Prozessabrechnung für einen Honigtopf / einen armen Mann.
Erstellen Sie ein Backup von
/usr/bin/random
touch /tmp/who_is_calling_random.log ; chmod 622 /tmp/who_is_calling_random.log
Ersetzen Sie
/usr/bin/random
durch dieses Shell-Skript (beachten Sie, dass Sie bei Bedarf einen anderen Pfad als / tmp verwenden können, aber stellen Sie sicher, dass er weltweit beschreibbar ist).chmod 755 /usr/bin/random
Starten Sie das System neu.
Sehen Sie, was sich im Honeypot-Protokoll befindet. Dies sollte ein Protokoll darüber sein, wer / was hinter der Verwendung des Zufallsprogramms steht.
Stellen Sie
random
die Sicherung wieder her, die Sie in Schritt 1 erstellt haben.System neu starten.
quelle
usr/sbin/random
ausgeführt zu werden. Während ich mein System aufgrund dieser Antwort vorübergehend kaputt machte, fand ich auch etwas, das zufällig verwendet wurde und offensichtlich sein sollte. SSHD ist sehr wahrscheinlich der Schuldige. Kurz und gut, es ist eine gute Idee, das Problem einzugrenzen. Seien Sie vorsichtig und probieren Sie es zuerst auf einer VM aus. Danke Joshua. :-)chmod 755
nicht seinchmod 777
. Die temporäre Datei sollte seinchmod 622 /tmp/who_is_calling_random.log
622
.