Comment puis-je voir datatables de memory brutes utilisées par une application? Comme, supposons que j'ai un nom de file something.sh
. Maintenant ./something.sh
la command ./something.sh
, et puis je veux voir toutes datatables son access en RAM et tous les files son access dans mon système de files, datatables réseau ou la connection son utilisation. Peut être le vidage hexadécimal de la memory utilisée par cette application. Puis-je le faire en Ubuntu?
Comment puis-je voir datatables de memory brutes utilisées par une application …
Une fois que vous avez obtenu le process PID (en utilisant par exemple ps(1)
ou pidof(8)
), vous pouvez accéder aux données dans son espace d'adressage virtuel en utilisant /proc/PID/maps
et /proc/PID/mem
. Gilles a écrit une réponse très détaillée à ce sujet ici .
… et tous les files son access dans mon système de files, datatables réseau ou les connections
lsof
peut faire exactement cela. netstat
peut être plus approprié pour les descripteurs liés au réseau. Par exemple :
$ netstat -tln # TCP connections, listning, don't resolve names. $ netstat -uln # UDP endpoints, listning, don't resolve names. $ netstat -tuan # TCP and UDP, all sorts, don't resolve names. $ lsof -p PID # "Files" opened by process PID.
Note : le commutateur -p
netstat
vous permettra d'imprimer le process associé à chaque ligne (au less vos process). Pour sélectionner un process spécifique, vous pouvez simplement utiliser grep
:
$ netstat -tlnp | grep skype # TCP, listning, don't resolve (Skype).
Pour plus d'informations sur ces outils: netstat(8)
et lsof(8)
. Voir aussi: proc(5)
(et les outils mentionnés dans d'autres réponses) .
Réponse partielle:
Vous pouvez voir les files auxquels il accède en time réel en utilisant
strace something.sh
Plus précisément, il vous montre chaque appel système effectué par le process.
Vous pouvez get cette information via le système de files virtual /proc
(sous Linux uniquement).
Essayez d'exécuter cette command lorsque le process est en cours d'exécution (remplacez le <pid>
par le PID du process observé):
grep 'VmSize' /proc/<pid>/status
Attention, vous devez avoir access en lecture au process pour get ces informations (vous ne pouvez pas y accéder si vous ne les possédez pas)!
Si vous voulez connaître toutes les informations données par /proc/<pid>/status
, faites simplement:
cat /proc/self/status
Si vous êtes intéressé par un minimum d'informations, essayez dans le terminal, tapez sudo gnome-system-monitor. Cliquez sur les process.