pstack
Äquivalent betrifft, so haben Sie Erlang Profiling von offiziellen Guide lesen? Es gibt Ihnen viele Beispiele dafür, wie Sie Ihre Anwendung profilieren und wo der Code stecken bleibt.
Ein weiteres nützliches Werkzeug ist observer
es wird alle Arbeitsprozesse, CPU-Auslastung, Prozess-Stack und viele weitere Informationen zeigen. Wenn Sie mit diesen Tools nichts sehen, können Sie es mit Erlang debugger versuchen.
Jetzt, wo Ihre Anwendung gerade läuft, können Sie sich mit Erlang shell verbinden und zuvor angegebene Befehle und Anwendungen starten.
Ich weiß nicht, ob Sie allein oder mit couchdb verwenden Couchbase, aber, wenn Sie observer
oder andere Werkzeuge von der Kommandozeile verwenden möchten, können Sie couchdb
mit -i
Flagge starten:
# -i use the interactive Erlang shell
couchdb -i
In Wenn Ihre Anwendung remote ohne GUI ausgeführt wird, können Sie etop
verwenden, eine CLI-Alternative zu observer
. Sie können auch die Ausgabe etop
in eine Datei ausgeben, wenn Sie sie nicht direkt von Ihrer Erlang-Shell aus ausführen möchten. IHMO, wenn Sie weitere Informationen über I/O oder Debug benötigen, verwenden Sie eprof
, fprof
und andere Profiling-Tools mit Dump-Datei (siehe auch eep
Profiling-Tool, einfach zu bedienen).
Eine weitere Alternative, wenn Sie SSH verwenden möchten observer
Fenster, um zu sehen, können Sie X11Forwarding mit ssh: ssh -X $yourserver
oder ssh -Y $yourserver
und einfach observer:start().
in Ihrem Erlang-Shell ausführen.
danke! aber ich habe immer noch ein Problem. Wenn ich einen Beobachter ausprobieren möchte, habe ich festgestellt, dass es ein GUI-Programm ist und ich habe zu diesem Zweck keine GUI-Umgebung. – zhihuifan
danke dir! Aber ich habe immer noch ein Problem. Wenn ich einen Beobachter ausprobieren möchte, habe ich festgestellt, dass es ein GUI-Programm ist und ich habe zu diesem Zweck keine GUI-Umgebung. Wenn ich observerweb verwenden möchte, starte ich https://github.com/freecnpro/observerweb/issues/4. über die -i-Flagge, nach meinem Verständnis, wenn es einige Erlang Prozess gibt und egal, ob es couchdb oder couchdb -i ist oder nicht couchdb überhaupt, ich denke, es sollte in der Lage sein, mit dem oben genannten Werkzeug zu verifizieren.Ich liege wahrscheinlich falsch, ich erwähne das nur, weil ich mein Wissen auffrischen möchte. Vielen Dank! – zhihuifan
ok, bearbeitet die Antwort mit mehr Informationen über Profiling-Tool ohne GUI. Hoffe das wird helfen! :) –