AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke PE-Flag IMAGE_FILE_NET_RUN_FROM_SWAP und langsamer Zugriff
Thema durchsuchen
Ansicht
Themen-Optionen

PE-Flag IMAGE_FILE_NET_RUN_FROM_SWAP und langsamer Zugriff

Ein Thema von reaktor · begonnen am 14. Okt 2022 · letzter Beitrag vom 27. Okt 2022
Antwort Antwort
reaktor

Registriert seit: 1. Aug 2012
11 Beiträge
 
#1

PE-Flag IMAGE_FILE_NET_RUN_FROM_SWAP und langsamer Zugriff

  Alt 14. Okt 2022, 14:26
Hallo,
unser Programm wird von einem Netzwerk-Share geladen. Haben mehrere DLLs und nat. die BPLs. Bei einem Kunden geht es an 2 Rechnern an manchen Stellen im Programm extrem langsam. Dieses Phänomen tritt nur dort auf.

Wenn wir das PE-Flag IMAGE_FILE_NET_RUN_FROM_SWAP setzen, geht es "normal schnell". Normalerweise sollte das Laden jedoch länger dauern, weil ja erst alles rüberkopiert und in die Auslagerungsdatei gestellt wird. Das PE-Flag wollen wir nicht im Standard aktivieren, weil es ja dann für alle anderen länger dauert.

Hat irgendjemand eine Idee was die Ursache sein könnte oder irgendeinen Ansatzpunkt wo man nachsehen könnte?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.054 Beiträge
 
Delphi 12 Athens
 
#2

AW: PE-Flag IMAGE_FILE_NET_RUN_FROM_SWAP und langsamer Zugriff

  Alt 14. Okt 2022, 14:49
Zitat:
Normalerweise sollte das Laden jedoch länger dauern, weil ja erst alles rüberkopiert und in die Auslagerungsdatei gestellt wird.
Nein.

Rüberkopiert muß es so oder so werden.
* OHNE wird es vom Share in den RAM geladen
* auch MIT wird es vom Share in den RAM geladen

aber gibt es zu wenig speicher, dann wird RAM ausgelagert
* OHNE wird es einfach freigegeben und beim nächsten Zugriff (PageFault) erneut vom Share geholt
. (genauso wie normal auch, bei EXE/DLL/BPL auf der Festplatte, da wird es auch von dort geholt)
* MIT wird es in die Auslagerungsdatei entladen und dann von dort zurückgeholt

Damit bei IMAGE_FILE_NET_RUN_FROM_SWAP, wenn der Share nicht mehr erreichbar ist, es dennoch verfügbar bleibt (oder auch wenn Share langsam ist, damit es von lokal schneller geht)
bzw. bei IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP, wenn USBStick oder externe Festplatte abgezogen wurden.

Blöd an IMAGE_FILE_NET_RUN_FROM_SWAP und IMAGE_FILE_REMOVABLE_RUN_FROM_SWAPist, dass es nicht an der EXE hängt und für alle DLLs verwendet wird,
sondern man es für jede einzelne DLL/BPL setzen soll ... besonders unpraktisch, bei Fremdcode (vorallem wenn auch noch signiert).



Was wir mitbekommen haben, was ihr also besser niemals machen solltet:
Die EXE/DLL im Rootverzeichnis eines Shares ablegen, sondern immer in einem Unterverzeichnis ... Windows ist doof und hat da eine teilweise sehr extrem bremsende Eigenart, wenn die $IPC-Freigabe fehlt oder nicht richtig arbeitet.

Wir haben an die 80-100 EXE/DLL/BPL und dann noch die Millionen BPLs von DevExpress und Co.
Ist besonders geil, wenn beim Laden Windows pro Datei 15 Sekunden braucht. (der Timeout beim Zugriff auf diesen $IPC)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Okt 2022 um 14:55 Uhr)
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
435 Beiträge
 
Delphi 12 Athens
 
#3

AW: PE-Flag IMAGE_FILE_NET_RUN_FROM_SWAP und langsamer Zugriff

  Alt 14. Okt 2022, 16:04
[QUOTE=himitsu;1513301]
Zitat:
Windows ist doof und hat...
Und nicht nur an dieser Stelle. Daher nennen wir es seit Jahren Windoof
  Mit Zitat antworten Zitat
reaktor

Registriert seit: 1. Aug 2012
11 Beiträge
 
#4

AW: PE-Flag IMAGE_FILE_NET_RUN_FROM_SWAP und langsamer Zugriff

  Alt 27. Okt 2022, 10:37
Danke für die Antwort.
Hat ein wenig gedauert, bis wir uns das live beim Kunden ansehen konnten. Mit deaktivierten Flags, wo es laut Kunden ja langsam geht, hat es sich nicht konsistent verhalten. Manchmal ging es tatsächlich sehr langsam, dann aber wieder normal schnell. Hat also nicht direkt was mit den Flags zu tun, denken wir. Eher mit dem Antivirenprogramm, Hardwarefehler oder Auslastungsspitzen. Vermutlich war auch die Aussage vom Kunden nicht 100% korrekt.

Danke auf jeden Fall!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz