Slight growth of memory detected
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Bereich
- networking
Rechercherichtung
Beginne damit, den bereitgestellten Speichertest mit get_active_devices und get_interfaces_info zu reproduzieren, einschließlich des Falls mit einem ungültigen Schnittstellennamen. Verfolge diese Einstiegspunkte durch die Python-Bindings und die native Implementierung des Repositorys und wiederhole anschließend die Messungen nach jeder Untersuchung. Als erledigt gilt die Aufgabe, wenn wiederholte Aufrufe kein messbares Speicherwachstum mehr zeigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Get this script (GPLv2 Copyright (c) 2011 Red Hat):
import ethtool
import subprocess, sys, os
max = int(sys.argv[1])
nic = sys.argv[2]
total = 0
def memory():
""" Get current memory usage in MB """
command = "ps --no-header -o rss -p %s" % os.getpid()
p = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
stdout, stderr = p.communicate()
return int(stdout) / 1024
def measure(fun, arg):
""" Run given function on given arg max times """
global total
print("\n%s on %s" % (fun, arg))
start = None
for i in range(max + 1):
result = fun(arg)
if i % (max / 10) == 0:
current = memory()
# note the memory after the first round warm-up
if start is None:
start = current
print("%s %% ... %s MB" % \
(str(100 * i / max).rjust(3), str(current).rjust(3)))
increase = current - start
print("Memory increase: %s MB" % increase)
total += increase
measure(ethtool.get_active_devices, None)
measure(ethtool.get_interfaces_info, nic)
measure(ethtool.get_interfaces_info, 'bad interface name')
print("\nTotal memory increase: %s MB" % total)
if total > 0:
sys.exit(1)
And run:
$ python3.6 ~/tmp/memory.py 1000000 ens3
<built-in function get_active_devices> on None
0.0 % ... 10.1328125 MB
10.0 % ... 10.13671875 MB
20.0 % ... 10.13671875 MB
30.0 % ... 10.13671875 MB
40.0 % ... 10.13671875 MB
50.0 % ... 10.13671875 MB
60.0 % ... 10.13671875 MB
70.0 % ... 10.13671875 MB
80.0 % ... 10.13671875 MB
90.0 % ... 10.13671875 MB
100.0 % ... 10.13671875 MB
Memory increase: 0.00390625 MB
<built-in function get_interfaces_info> on ens3
0.0 % ... 10.13671875 MB
10.0 % ... 10.13671875 MB
20.0 % ... 10.13671875 MB
30.0 % ... 10.13671875 MB
40.0 % ... 10.13671875 MB
50.0 % ... 10.13671875 MB
60.0 % ... 10.13671875 MB
70.0 % ... 10.13671875 MB
80.0 % ... 10.13671875 MB
90.0 % ... 10.140625 MB
100.0 % ... 10.140625 MB
Memory increase: 0.00390625 MB
<built-in function get_interfaces_info> on bad interface name
0.0 % ... 10.140625 MB
10.0 % ... 10.140625 MB
20.0 % ... 10.140625 MB
30.0 % ... 10.140625 MB
40.0 % ... 10.140625 MB
50.0 % ... 10.140625 MB
60.0 % ... 10.140625 MB
70.0 % ... 10.140625 MB
80.0 % ... 10.140625 MB
90.0 % ... 10.140625 MB
100.0 % ... 10.140625 MB
Memory increase: 0.0 MB
Total memory increase: 0.0078125 MB
- Vorherrschende Sprache
- C
- Sterne
- 16
- Forks
- 11
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus fedora-python/python-ethtool
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
fedora-python/python-ethtool#61 · 1 Kommentar ·
-
help wanted
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
fedora-python/python-ethtool#40 · 5 Kommentare ·
-
Improve tests coverage Offenenhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Alle Issues in fedora-python/python-ethtool
Ähnliche Issues
-
Broadcast Documentation Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
kovidgoyal/kitty#10516 ·
-
libc
Schwierigkeit 2/5 1-2 Tage Anfängerfreundlichkeit 76/100
llvm/llvm-project#225506 · 1 Kommentar ·
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
Status: Waiting triage Type: Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
nanoframework/Home#1857 ·
-
bug
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 82/100