/ / Adgang til systemets ydeevne data direkte fra Linux-kernen - Linux, performance, linux-kernel

Adgang til systemets ydeevne data direkte fra Linux-kernen - Linux, ydeevne, Linux-kernel

Jeg skal skrive en ansøgning der bliverpræstationsstatistikker på en Linux-maskine. Desværre er miljøet ekstremt hukommelsesbegrænset, og så er der brug for standard kommandolinjeværktøjer, det er ikke rigtig en mulighed, da jeg vil skulle poll dem temmelig ofte.

Ideelt hvad jeg gerne vil kunne gørevære at få præstationsdataene direkte fra kernen selv ved hjælp af de samme buffere og data, som den bruger til at forsøge at reducere RAM-kravene til min ansøgning så meget som muligt. At binde min app til Linux-kernen så tæt er ikke et problem, vi har nogensinde brugt Linux i produktion, og jeg kan ikke se, at det altid ændrer sig.

Jeg har brugt den sidste dag eller to kigger igennemkernekilden, men jeg må indrømme, at jeg er lidt tabt. Kan nogen pege på mig på det rigtige sted for at få adgang til CPU-ydeevneinformation / I / O-præstationsinformation / netværkspræstationsoplysninger og båndbreddeanvendelsesoplysninger, venligst?

svar:

5 for svar № 1

Jeg tror, ​​at der er flere filer under / proc, såsom / proc / stat, / proc / diskstats, / proc / net / *.

For CPU-ydeevne information, ved hjælp af / proc / stat, er filformatet defineret i filen ./fs/proc/stat.c i Linux Kernel source code tree.

For oplysninger om diskadgang, ved hjælp af / proc / diskstats, er filformatet defineret i filen ./block/genhd.c i Linux Kernel source code tree, funktionen er diskstats_show ().

For netværksrelateret statistik kan man henvise til filer under / proc / net /. Men jeg ved ikke, hvordan man beregner båndbreddeanvendelsen baseret på fil under mappe / proc / net.


Beslægtede spørgsmål


Kommentarer (0)

Tilføj en kommentar