X
Kommentare zu:

Chrome: Entwickler reduzieren RAM-Verbrauch mit neuer Methode

oder

Zugangsdaten vergessen?

Jetzt kostenlos Registrieren!
[o1] va!n am 26.12. 15:37
Zitat aus dem Artikel:
"Dieses Mal soll laut MSPoweruser die "TerminateProcess"-API von Windows 10 zum Einsatz kommen."

Beim lesen des Artikels kommt es mir so vor, als würde man dem Leser hier suggestieren, dass die Chrome-Entwickler eine total Neue Funktion - dies es anscheinend nur in/ab Windows 10 gibt - nutzen.

Tatsache ist, dass u.a. die Win32 API Funktionen wie "TerminateProcess()" oder "TerminateThread()" für Thread-Programmierung bereits seit Windows XP im OS für Entwickler zur Verfügung stehen! Von daher kann man sich sicherlich fragen, warum zum einem die Chrome-Entwickler erst jetzt auf diese OS-Funktionen zugreifen und zum zweiten, warum dieser Artikel fälschlicherweise das ganz so darstellt, als wäre hier auch Windows 10 durch anscheinend Neue API Funktionen ein großer Anteil zuzuschreiben.
[re:1] Toerti am 26.12. 16:17
+4 -
@va!n:
Flaschenpost halt.

Bei MSPowerUser wird schon von der TerminateProcess "API" gefaselt obwohl bei tomsguide noch die TerminateProcess function war.

Das ist der Stand 2020, Programme kriegen es immer noch nicht auf die Kette ihren Arbeitsspeicher frei zu geben. War so ziemlich das erste Thema wenn man in den Neunzigern ein win32/mfc buch gelesen hat.
[re:1] va!n am 26.12. 23:54
+3 -
@Toerti: [+]
Tja... ich kenne das noch von der guten alten Amiga-Zeit und Programme, die unter der Workbench laufen sollten. Da konnte man vor Programmstart aufs Byte genau den noch freien CHIP und FAST-Memory sehen. Das Programm starten - und normal mit arbeiten. Und nach dem beenden erneut einen Blick auf CHIP und FAST-Memory werfen. So konnte man immer genau schauen, ob irgendwo Memoryleaks vorhanden waren - und auch testen, wieviel RAM das Programm vom OS abzsapft.

Heutzutage soll dsa OS beim beenden von Programmen automatisch solche Sachen wieder freigeben. Leider fängt es heutztage schon beim Windows OS an, wo man soetwas nicht mehr wirklich prüfen kann - und das OS permanent Speicherblöcke allokiert und wieder freigibt, wie es auch permantent auf der Festplatte (wie Registry) usw. irgendwelche Daten liest und speichert - obwohl man nichts am Rechner macht und noch keine Programme gestartet hat.

Heute heißt es doch bei vielen leider.... hauptsache es läuft... auch wenn danach nicht mehr der ganze Speicher freigegeben wird etc... man hat es ja ("genug arbeitsspeicher")
[re:1] skyjagger am 27.12. 10:03
+2 -
@va!n: Ja, das Amiga OS hatte schon einige Vorteile, aber war auch zu der damaligen Zeit noch nicht wirklich auf Sicherheit ausgelegt. Der Hauptgrund heutzutage ist aber eher in der "Faulheit" der Programmierer zu sehen. Dies ist nicht unbedingt den Leuten selbst geschuldet, sondern dem Umstand das Zeit = Geld ist und kaum ein Arbeitgeber dies mehr als unbedingt nötig ausgeben will. Wenn man sich mal die "alten" Programme auf dem C64 und Co anschaut, da wurde noch richtig optimiert, denn Speicher war extrem knapp und so musste alles überflüssige eben entfernt werden. Heute ist es doch eher ein anpassen vorhandener Libs und Functions, dann noch nen bissl die Öberfläche angepasst fertig ist das "neue" Programm. Auf Ressourcen wird da kaum mehr geachtet, da meist im Überfluss vorhanden. Und zur Not muss der Anwender eben den Arbeitsspeicher und Co aufrüsten.
[re:1] va!n am 27.12. 12:42
+1 -
@skyjagger: [+]
Danke! Du sprichst mir absolut aus der Seele! Ich gebe Dir vollkommen recht und sehe es genauso wie Du! Viele Programmierer benutzen tatsächlich einfach irgendwelche vorgefertigten und aufgeblähten Libs/DLLs, die dann ein aufgeblähtes und Resourcenfressendes "Ganzes" Programm ergeben.

Ich selber habe vor ca. 15-20 Jahre mal bei einer Soft- und Hardwareschmiede für u.a. Messtechnik gearbeitet. Für die Auswertung der Hardware-Messdaten gab es eine eigene "sehr simple" (in meinen Augen schlechte) Software von vielen Megabyte an Größe, so dass diese nur noch auf CD ausgeliefert werden konnte.

In meiner Freizeit habe ich exakt diese Software Resourcenschonend nachprogrammiert, so dass das teil sogar einen Ticken flüssiger lief als das Original. Meine Win32-Exe war unter 64 KB (ungepackt und ohne der Notwendigkeit von weiteren 3rd Part DLLs etc).

Die anderen Entwickler staunten nicht schlecht und verstanden die Welt nicht mehr wirklich, wie sowas ging. Mein Vorschlag war, die bisherige (in meinen Augen) aufgeblähte Version durch meine zu ersetzen, brachte etwas ans Tagelicht, was ich bis heute nicht vergessen werde!

Das Thema löste ein Meeting mit allen Mitarbeitern (Entwickler, Außendienstler usw) aus. Die Aussage meines Chefs war, dass unser Programm von Version zu Version extra um einige MB künstlich (!) aufgebläht würde, damit der Kunde im Glaube sei, er bekomme für sein Geld bei einer Neuen Version viel Neues geboten (kurz: Größeres Programm = Mehr Neue Funktionen/Neuerungen == Mehr Geld).

Würde der Kunde nun die 64 KB Version bekommen, so ließe sich diese nicht mehr verkaufen, da der Kunde im Glaube sein könne, er bekomme nun eniges weniger für sein Geld. (Einfach nur krank! Aber leider eine Geschichte, wie ich selber sie tatsächlich erfahren habe)
[re:2] henne_boy am 26.12. 16:20
+2 -1
@va!n: Vorallem gilt diese Änderung nur unter Windows. Unter Unix Systemen, die mittlerweile immer weiter verbreitet sind hat man davon nix
[re:1] va!n am 26.12. 23:28
+1 -
@henne_boy:
Zwar kenne ich mich jetzt mit der Linux API nicht wirklich groß aus. Meine aber, dass das Gegenstück der hier genannten Win32 API Funktionen in gleicher Weise unter folgenden API Aufrufen möglich sind:

// Win32 vs Linux
TherminateThread() vs pthread_cancel()

// Windows
TerminateThread( thread_dup, 0);
TerminateProcess(OpenProcess(PROCESS_ALL_ACCESS, TRUE, processId), (UINT)0 );

// Linux
kill( processId, SIGTERM );
nRet = waitpid( processId, &status, WNOHANG); //Check specified process is terminated

Letzten endes ist es eigentlich auch Wurscht, wie die Entwickler die Sache mit den Threads und Speicher umsetzen. Meiner Meinung zeigt es nur, dass dieses anscheinend nicht sauber gelöst wurde, denn ansonsten hätte man über jeden Thread auch die Kontrolle und könnte den jeweiligen nicht mehr benötigten Speicher (eigenes Memory-Management) u.U. auch wieder voll frei geben.
[re:3] DK2000 am 26.12. 17:43
+4 -
@va!n: War da auch gerade vom Begriff "TerminateProcess-API" irritiert. Geht aber tatsächlich um die Standard-Funktion "TerminateProcess" in der WinAPI, welche seit Windows XP existiert. Kann jetzt aber nicht sagen, in wie weit die sich seit Windows XP verändert hat. Der Aufruf ist jedenfalls gleich geblieben.
[o2] Rulf am 26.12. 17:03
+3 -4
wenn der ram schon da ist, warum sollte man ihn nicht auch nutzen...natürlich nicht für längst terminierte prozesse...
[re:1] M-Rhein am 26.12. 20:34
+2 -4
@Rulf: das ist doch das Problem was die meisten "Profis" hier nicht kapieren. Ram-Management, diverse Programme werden zum Beispiel in den Ram geladen so dass Sie schneller zur Verfügung stehen, leerer Ram ist Verschwendung und bringt nichts. Die Meisten Betriebssysteme sind so aufgebaut dass terminierte Prozesse auch nicht mehr im Speicher vorhanden sind, oder Speicher erst frei gemacht wird wenn er gebraucht wird, die Software die dahintersteckt lernt auch stetig dazu, welche Programme oft und welche weniger oder gar nicht gebraucht wird.
Terminiert man alle Prozesse braucht man sich auch nicht wundern wenn die Software nichts lernt oder falsche Informationen abliefert. Ich schreib ja immer wieder, hier sind nur Profis unterwegs (nicht auf dich bezogen)
[re:1] va!n am 26.12. 23:35
+2 -2
@Rulf:
@M-Rhein:
Warum bitte sehr sollen denn diverse Programme (die ich evt. gar nicht täglich brauche) bei jedem Rechenrstart schon direkt in den Arbeitsspeicher geladen werden - und mir somit unnötig den für mich (z.B. bei Grafikbearbeitung, Musik mastern etc) benötigten RAM klauen?

Wenn ich nach dem Rechnerstart immer wieder bestimmte Programme schnell zur Verfügung haben mag, dann - aber auch nur dann - macht es evtl. Sinnn, bestimmte Sachen zum Teil bereis im RAM zu haben.

Das ist das Problem, was die meisten "Besserwisser" anscheinend nicht kappieren. (Ich kann Dir calc.exe gerne so abändern, dass es beim ausführen direkt mehrere GB RAM für sich beansprucht.)
[re:1] Drachen am 27.12. 11:24
+ -
@va!n: "(die ich evt. gar nicht täglich brauche)"
Es geht doch nicht um Programme, welche du nicht gestartet hast.
Oder verstehe ich dich hier aufgrund einer unglücklichen Formulierung völlig falsch?
[re:2] Drachen am 27.12. 11:22
+ -
@M-Rhein: "Ich schreib ja immer wieder, hier sind nur Profis unterwegs (nicht auf dich bezogen)"
Auf dich selbst definitiv auch nicht, wenn ich so darüber nachdenke, was du in den letzten Jahren hier alles abgelassen hast. Beim RAM-Thema liegst du zur Abwechslung sogar mal weitgehend richtig, blindes Huhn und so? ... :-P
[o3] DRMfan^^ am 26.12. 18:16
+2 -
Achso? Ich dachte die Prozesse bleiben absichtlich erhalten, damit man keine neuen Prozesse erzeugen muss und sich den beenden/erstellen-Overhead erspart.

Mich würde auch echt interessieren, warum SegmentedHeap ein Stabilitätsproblem sein soll? Ich erzwinge das bei mir für alle Windows-Programme, daher fände ich das sehr relevant. Bisher jedenfalls wirkt es stabil.
[re:1] DK2000 am 26.12. 18:20
+2 -
@DRMfan^^: Wie kann man das erzwingen?
[re:2] Bautz am 26.12. 18:26
+2 -1
@DRMfan^^: Wenn Teile von Chrome so gut programmiert sind wie Android, würde mich das nicht wundern.
[re:1] M-Rhein am 26.12. 20:37
+1 -5
@Bautz: wenn du es besser kannst, bewirb dich, dann wirst du mit Sicherheit genommen, denn offensichtlich ist das Problem nicht so leicht lösbar.
Google nimmt nicht gerade die schlechtesten Programmierer, mit unter Läuft Chrome am besten von alle Browsern die es für Android gibt (wenn man am System nicht die ganze Zeit herumpfuscht)
[re:1] Bautz am 26.12. 21:57
+3 -1
@M-Rhein: Ne, möchte nicht für google arbeiten (nicht für alles Geld der Welt). Ich programmiere auch seit 5 Jahren nicht mehr, kann mich aber erinnern dass SegmentedHeap dann ein Problem ist wenn man zu viel Wildwuchs beim Multithreathing hat.

Da schießt man auch schnell mal was weg was woanders noch gebraucht wird, und es hält sich auch an keine Reihenfolge, so dass beim Call der Deconstruct-Funktion von Objekten evtl. Prüfungen nicht mehr funktionieren.

"am besten von alle Browser für Android" Ein schlechter Browser ist eines der Geringsten der Probleme von Android ;-) .
[o4] Screenzocker13 am 26.12. 21:34
+2 -2
Wofür hab ich denn den verdammten RAM? Ich stell mir doch auch keine Mülltonne in die Bude, um sie leer zu lassen.
[re:1] va!n am 27.12. 00:01
+3 -3
Zitat von Screenzocker13:
"Wofür hab ich denn den verdammten RAM? Ich stell mir doch auch keine Mülltonne in die Bude, um sie leer zu lassen."

Na, wenn Du schon selber Deinen Computer mit einer Mülltonne vergleichst, dann kann ich nur hoffen, dass Dein Schreibtisch / Arbeitsplatz nicht einer Mülltonne gleicht.

PS:
Wofür hast Du beim essen einen großen Küchen- oder Wohnzimmertisch? Schaufelst Du da auch Deinen Suppenteller derart voll, dass die Suppe überschwappt und die komplette Tischfläche einnimmt? Nach Deiner Aussage zu Urteilen vermute ich mal ja, denn warum sollte man diese nicht auch nutzen und leer lassen? Merkste was?
[re:1] Drachen am 27.12. 11:27
+ -1
@va!n: Dämlicher Vergleich!
"Schaufelst Du da auch Deinen Suppenteller derart voll, dass die Suppe überschwappt und die komplette Tischfläche einnimmt?"
Wenn er sich eigens einen Suppenteller kaufen würde, wo die komplette Suppe reinpasst, DANN wäre der Vergleich ansatzweise geeignet.

"Merkste was?"
Ja: Du hast nicht nachgedacht.
[re:2] Link am 27.12. 11:42
+2 -
@Screenzocker13: Ich habe jedenfalls meinen RAM nicht dafür gekauft, damit irgendwelche schlecht programierte Software mir den mit irgendwelchen im Hintergrund bis zum nächsten Neustart rumhängenden "toten" Prozessen vollstopft.
[re:3] Fropen am 27.12. 16:39
+1 -
@Screenzocker13: verwendest du immer nur ein Programm gleichzeitig?
[o5] Smilleey am 26.12. 22:27
+1 -1
Ein Loch ääähm RAM ist dazu da um gestopft zu werden.
[o6] abatabat am 27.12. 00:44
+1 -4
diese ganze spy scheiße geht mir wirklich auf den sack. Ich muss es so deutlich sagen. Ich habe mir wieder den Firefox Installiert und bin wirklich begeistert. Ich werde dabei bleiben!
[re:1] MancusNemo am 27.12. 10:25
+1 -2
@abatabat: Ja, Firefox ist gut, aber er fängt an Ram wie ein Vielfraß zu vernaschen, wenn man Youtube Tabs offen hat. Ich vermute Mozilla sorgt nur noch dafür das es läuft und optimiert nicht mehr, weil man ja gesehen hat wohin das bei Mircosoft geführt hat... Sie haben aufgegeben. Eigentlich ein Fall für die Wettbewerbskontrolle. Wenn überhaupt nehm ich den Chromium und nicht die Spywarescheiße von Google für Youtube. Tja soweit sind wir schon, bestimmte Programme für bestimmte Seiten...
[re:1] Drachen am 27.12. 11:29
+ -2
@MancusNemo: "Eigentlich ein Fall für die Wettbewerbskontrolle."
Weil das Speichermanagement verbesserungswürdig ist? Da hast du dich ja hübsch vergaloppiert. ;-)
[re:1] MancusNemo am 28.12. 13:37
+1 -1
@Drachen: Nein, weil wenn sie es optimieren baut youtube die seite wieder um so das es genauso schlimm wie vorher ist. Also zwecklos. Das haben die schon mit dem IE so getrieben. Es bezieht sich ja auch nur auf die Youtube-Seite und vermutlich auch auf andre Googledienste, aber die nutze ich am PC kaum bis gar nicht... daher weiß ich da nicht bescheid.
[re:1] Drachen am 28.12. 20:33
+ -2
@MancusNemo: Du meinst also nicht Mozilla mit dem Fall für die Wettbewerbsbehörde, sondern Google bzw. speziell Youtube. Ja dann schreib das doch von vornherein so, statt endlos herumzuschwurbeln!

Ansonsten kann man eigentlich nur zur Kenntnis nehmen, dass du das alles nicht nutzt und nichts Genaues weißt. Also wenig Wissen, aber viel Meinung.

Da kann man nur gute Besserung wünschen und ein Jahr 2021, welches du verstärkt zum Aneignen von Wissen nutzt, statt es wieder mit dem Kundgeben von Unwissen zu verplempern.
[re:2] Echorausch am 27.12. 14:54
+1 -1
@MancusNemo: Dein ernst ??!! ..
[re:1] MancusNemo am 28.12. 13:38
+ -1
@Echorausch: Ja, das hab ich Drachen schon erklärt. Einfach die Antwort bei ihm durchlesen hier.
[re:3] abatabat am 30.12. 22:37
+ -
@MancusNemo: recht hast du.
[re:4] milo_w04 am 26.03. 00:29
+ -
@MancusNemo: Chromium ist auch von Google und spioniert genauso wie Google Chrome
☀ Tag- / 🌙 Nacht-Modus
Desktop-Version anzeigen
Impressum
Datenschutz
Cookies
© 2024 WinFuture