현재 내 서버의 일부 프로세스를 관찰하고 있으며 대역폭이 얼마나 되는지 알고 싶습니다.전체적으로 사용됨시작된 이래로. 나는 그것의 현재 사용법을 알고 싶지 않으며 nethogs
/도 나에게 도움이 되지 않습니다 nload
.
답변1
날 봐여기에 대답하세요.
nethog를 사용하면 다음과 같이 시작하여 MB당 총 대역폭을 모니터링할 수 있습니다.
sudo nethogs -v 3
답변2
흥미로운 질문입니다. 최소한 IP6 프로세스의 snmp 값을 볼 수 있는 것 같습니다 /proc/[pid]/net/dev_snmp6/[DEV]
.
ifIndex 4
Ip6InReceives 4
Ip6InHdrErrors 0
Ip6InTooBigErrors 0
Ip6InNoRoutes 0
Ip6InAddrErrors 0
Ip6InUnknownProtos 0
Ip6InTruncatedPkts 0
Ip6InDiscards 0
Ip6InDelivers 4
Ip6OutForwDatagrams 0
Ip6OutRequests 24
Ip6OutDiscards 0
Ip6OutNoRoutes 0
Ip6ReasmTimeout 0
Ip6ReasmReqds 0
Ip6ReasmOKs 0
Ip6ReasmFails 0
Ip6FragOKs 0
Ip6FragFails 0
Ip6FragCreates 0
Ip6InMcastPkts 2
Ip6OutMcastPkts 34
Ip6InOctets 618
Ip6OutOctets 1946
Ip6InMcastOctets 304
Ip6OutMcastOctets 2786
Ip6InBcastOctets 0
Ip6OutBcastOctets 0
Ip6InNoECTPkts 4
Ip6InECT1Pkts 0
Ip6InECT0Pkts 0
Ip6InCEPkts 0
Icmp6InMsgs 2
Icmp6InErrors 0
Icmp6OutMsgs 22
Icmp6OutErrors 0
Icmp6InCsumErrors 0
Icmp6InDestUnreachs 0
Icmp6InPktTooBigs 0
Icmp6InTimeExcds 0
Icmp6InParmProblems 0
Icmp6InEchos 0
Icmp6InEchoReplies 0
Icmp6InGroupMembQueries 0
Icmp6InGroupMembResponses 0
Icmp6InGroupMembReductions 0
Icmp6InRouterSolicits 0
Icmp6InRouterAdvertisements 2
Icmp6InNeighborSolicits 0
Icmp6InNeighborAdvertisements 0
Icmp6InRedirects 0
Icmp6InMLDv2Reports 0
Icmp6OutDestUnreachs 0
Icmp6OutPktTooBigs 0
Icmp6OutTimeExcds 0
Icmp6OutParmProblems 0
Icmp6OutEchos 0
Icmp6OutEchoReplies 0
Icmp6OutGroupMembQueries 0
Icmp6OutGroupMembResponses 0
Icmp6OutGroupMembReductions 0
Icmp6OutRouterSolicits 9
Icmp6OutRouterAdvertisements 0
Icmp6OutNeighborSolicits 3
Icmp6OutNeighborAdvertisements 0
Icmp6OutRedirects 0
Icmp6OutMLDv2Reports 10
Icmp6InType134 2
Icmp6OutType133 9
Icmp6OutType135 3
Icmp6OutType143 10
그러나 이것은 아마도 내가 컴파일하게 된 특별한 커널 기능일 가능성이 높습니다.
cat /proc/3553/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
eth0: 23650521 158896 0 0 0 0 0 9457 720802 4696 0 0 0 0 0 0
lo: 53621 490 0 0 0 0 0 0 53621 490 0 0 0 0 0 0
net/dev
쿼리 문서 별 /proc/[pid]
. 사용된 각 인터페이스에 대한 IO 바이트를 읽을 수 있습니다.
대역폭은 프로세스의 가동 시간으로 나누어야 하며, 이는 에서 확인할 수 있습니다 clock(3)
. 그러나 프로세스의 시작 시간을 찾는 다른 방법이 있을 수 있습니다.
내 생각에는 이 값이 stat /proc/[pid]
꽤 정확할 것이며 /proc/[pid]/stat
시스템이 시작된 이후의 시계 틱 시간도 포함되어 있는 것 같습니다.