Warum ist mein System so langsam, wenn ich so viel RAM habe?

8

Ich habe also einen Computer mit 3,45 GB RAM entsprechend meinem Betriebssystem (XP). Ich habe 2 GB virtuellen RAM.

Mein Unternehmen bringt Excel an seine Grenzen, andere Arbeitsblätter zu referenzieren, was eine Menge Ressourcen verbraucht. Oft, wenn Berechnungen, Speichern usw. ausgeführt werden, scheint das Programm manchmal bis zu 10 Minuten lang zu hängen.

Wenn ich nach dem Problem suche, stelle ich fest, dass der Prozessor normalerweise mit etwa 8-12% läuft, der RAM jedoch normalerweise mehr als 250.000 KB beträgt. Dies führt dazu, dass mein Computer langsam läuft, was für mich sinnvoll wäre, wenn ich nur 512 oder vielleicht ein Gigabyte RAM hätte. Ich weiß, dass 250.000 ziemlich viel Speicher für das Betriebssystem sind, aber mit insgesamt 6 GB würde ich eine viel bessere Leistung erwarten.

Gibt es eine Erklärung, warum es so langsam laufen würde?

edit: ich sollte klarstellen. Ich suche mehr von dem Konzept dahinter, nicht nur eine Lösung für meinen Computer, der langsam läuft (das sollte nur ein Beispiel sein). Ich war der Meinung, dass ich fast meinen gesamten Arbeitsspeicher nutzen sollte, bevor ich ernsthafte Geschwindigkeitsänderungen bemerkte, die sich auf mein gesamtes System auswirken würden.

Zombian
quelle
Welchen Prozessor haben Sie? Auch 4 GB RAM sind nicht so viel. Bestenfalls durchschnittlich, aber es ist die absolute Mindestempfehlung, die ich heute jedem geben würde.
Darth Android
Es ist kaum "bestenfalls durchschnittlich" für ein System mit XP 32-Bit.
Joe Internet
1
@Joe Die Beziehung zur maximalen Kapazität des Betriebssystems spielt keine Rolle - nur die Beziehung zur Anzahl der Anwendungen, die der durchschnittliche Benutzer heutzutage verwendet, und zum Speicherbedarf. Das Hinzufügen von mehr hat zwar keine Auswirkung, bis er auf ein 64-Bit-Betriebssystem aktualisiert.
Darth Android
IMO, Sie können den hw-Kontext nicht aus dem "Durchschnitt" entfernen. OP läuft unter Windows XP mit einem empfohlenen Mindest-RAM von 128 MB und einem unterstützten Minimum von 64 MB. Das ungefähr 55-fache des unterstützten Minimums ist also wahrscheinlich überdurchschnittlich.
Joe Internet

Antworten:

11

Könnten sich einige dieser Tabellen, auf die verwiesen wird, in einem LAN befinden? Wenn ja, welche Art von Verbindung haben Sie zu den Dateien im LAN (100 MBit, Gigabit, WLAN usw.)?

Excel ist sehr "gesprächig". Insbesondere wenn Sie mit Referenztabellen und Daten arbeiten, die auf verschiedene Ressourcen verteilt sind, kann es viel Kommunikation erfordern, bis die Anwendung die erforderlichen Informationen sendet und empfängt. Wenn sich die meisten Dateien auf Netzwerkfreigaben und Netzwerklaufwerken befinden, kann dies zumindest einen Teil der Langsamkeit erklären, die bei Ihnen auftritt.

Unabhängig davon, wie viel Speicher Sie verwenden, werden Sie wahrscheinlich feststellen, dass excel.exe normalerweise nicht so viel Speicher benötigt, wie Sie erwarten. Gibt es andere Prozesse auf Ihrem Computer, die nicht erforderlich sind? Viele Taskleistensymbole (neben Ihrer Uhr), von denen Sie keine Ahnung haben, wie sie dort angekommen sind oder wofür sie bestimmt sind?

Schließlich nutzen viele Unternehmen Excel weit über die besten Funktionen hinaus, wie es scheint, dass Ihr Unternehmen dies tut (warum, oh, warum verwenden sie keine Datenbank, wenn sie eine Datenbank benötigen, und überlassen Excel den einfachen Funktionen zur Datenaufzeichnung und -verarbeitung?). ?) Habe ich festgestellt, dass beim Vergleich der Geschwindigkeit von Excel auf unseren älteren / langsameren Computern (4 Jahre alte IBM-Desktops 8215 und 9645) und neueren / schnelleren Maschinen (6 Monate alte Desktops, 3269, 9964) kein signifikanter Unterschied besteht .

Abhängig davon, wie die Makros und der Code, die die Tabellen verbinden, geschrieben sind, kann es im Wesentlichen harte Grenzen geben, wie schnell diese Tabelle die benötigten Daten erfassen und verarbeiten kann.

Alles, was Sie tun können, ist, alle möglichen Langsamkeitspunkte zu identifizieren und zu mildern und auf das Beste zu hoffen.

music2myear
quelle
Wow du hast es geschafft! Ich hatte das gerade mit Hilfe des vorherigen Beitrags herausgefunden und diese Antwort danach gesehen. Und ja, ich stimme der Datenbank zu. Mir wurde gesagt, der Grund sei "weil wir keinen DBA bezahlen müssen". Stattdessen bezahle ich 3 Stunden am Tag damit, meine Daumen zu drehen und auf Excel zu warten. Ich bin mir sicher, dass ein Teil des Problems der VBA sein könnte, da ich in erster Linie auch Autodidakt bin, aber was ich bemerke, ist wahrscheinlich eher ein LAN-Problem. Vielen Dank!
Zombian
4
Gern geschehen. Die gute Nachricht ist, dass es relativ effiziente Möglichkeiten gibt, Dinge in Excel zu erledigen. Eine häufige Aufgabe besteht darin, die Anzahl der Datenzeilen zu ermitteln. Einige Benutzer suchen nach einem voreingestellten Maximum für alle Datenzeilen, vorausgesetzt, dass andere Methoden die Meldung der letzten Zeile riskieren, wenn sie auf die erste leere Zelle stoßen, und nicht erkennen, dass es schnellere Möglichkeiten gibt, als manuell einen gesamten Bereich zu überprüfen, der am nicht fehlschlägt erste leere Zelle. Eine weitere bewährte Methode für die Excel-Codierung ist das Laden ganzer Tabellen in Arrays, wodurch diese lokal im Speicher bleiben. Kleine Dinge wie diese summieren sich und beschleunigen die Dinge.
music2myear
1
Verbringen Sie diese 3 Stunden am Tag damit, SQL- und Datenbanktheorie zu lernen und Ihre Excel VBA-Kenntnisse zu verbessern. Ein dedizierter DBA ist zwar gut für sehr schwierige oder sehr große Dinge, aber es ist nicht allzu schwierig, mit so etwas wie SQL Server Express Edition loszulegen.
Joe Internet
1
@ Joe: Oder Access (was für das Unternehmen freundlicher wäre, da es wahrscheinlich bereits installiert ist, aber eines Tages viel einfacher als Excel auf SQL Server zu migrieren ist)
BlueRaja - Danny Pflughoeft
Ich kann mir keinen einzigen Vorteil vorstellen, den Access für diese Situation bringen würde, außer der Möglichkeit, Schaltflächen auf Formularen zu zeichnen. Wenn Sie das wirklich brauchen, ist Visual Studio Express immer noch die bessere Wahl.
Joe Internet
6

Windows XP verwendet nicht sehr gut mehr als 1 GB RAM. Einige Anwendungen verwenden möglicherweise mehr, aber keine einzelne Anwendung kann mehr als 2 GB gleichzeitig verwenden, zumindest standardmäßig - das ist der größte virtuelle Adressraum, den eine Anwendung sehen kann. Es gibt einen Modus, der einen Adressraum von 3 GB zulässt, der jedoch Kompatibilitätsprobleme für viele Softwareprodukte verursachen kann.

Wenn Ihr Computer nur 0,25 GB verwendet, scheint das ziemlich seltsam zu sein - es sei denn, der Speicher ist überhaupt nicht Ihr Engpass.

Wenn Ihr Computer "zu hängen scheint", würde ich vermuten, dass Sie viel Festplattenzugriff haben. Dies kann das Problem der Windows XP-Speichernutzung relevant machen. Windows 7 ist viel aggressiver, wenn es darum geht, vorherzusagen, was Sie in naher Zukunft verwenden werden, und es zwischenzuspeichern. Windows XP wird nicht einmal so viel Speicher für den Cache verwenden, geschweige denn versuchen, vorausschauendes Caching durchzuführen, sodass Sie die Festplatte viel eher "verprügeln".

Wenn dies das Problem ist, sind einige Optionen zu berücksichtigen:

  1. Versuchen Sie es mit einer Ramdisk, um die Verwendung der Festplatte zu minimieren. Legen Sie die Dokumente dort ab und stellen Sie sicher, dass auch temporäre Dateien dort gespeichert sind. Es sind sogar einige RAM-Disks verfügbar, die RAM außerhalb der 4 GB verwenden, auf die 32-Bit-Windows XP zugreifen kann.

  2. Verwenden Sie ein RAID-Array mit Striping, um die Leistung Ihrer Festplatte zu verbessern.

  3. Verwenden Sie eine Solid-State-Festplatte. Beachten Sie jedoch, dass Ihre SSD zu übermäßigem Verschleiß führen kann, wenn Ihre Anwendung viele Schreibvorgänge ausführt. Außerdem ist Windows XP nicht für SSDs optimiert. Achten Sie auf Updates zur Unterstützung von Trim.

Grundsätzlich besteht die Idee entweder darin, (1) Ihr System zur Verwendung von RAM zu zwingen oder (2, 3) in Hardware zu investieren, die Ihren Leistungsengpass verringert.

Steve314
quelle
Vielen Dank! Ich verwende ein Roaming-Profil und dadurch wurde mir klar, dass das Lesen / Schreiben auf dem Server für die Dateien, an denen ich arbeite, wahrscheinlich ein großer Teil des Problems ist. Auch gut dokumentiert! Danke noch einmal.
Zombian
2

Es hört sich so an, als würden Sie ein 32-Bit-Betriebssystem verwenden (was Sie in der Frage nicht definitiv sagen). In diesem Fall sind Sie auf 3,45 GB adressierbaren Speicher beschränkt. Windows kennt einfach keinen Speicher oberhalb dieser Grenze.

Dies bedeutet, dass Sie beim Ausführen von Programmen, die viele Ressourcen verwenden, die meiste Zeit auf die Festplatte blättern, da das Betriebssystem die Daten im Speicher mit denen auf der Festplatte austauschen muss. Sie könnten versuchen, die Größe Ihrer Auslagerungsdatei zu erhöhen (vorausgesetzt, Sie meinen dies mit virtuellem RAM), aber Sie sollten Windows dies besser verwalten lassen.

Sie müssen ein 64-Bit-Betriebssystem installieren, um Leistungsvorteile aus Ihrem Speicher zu ziehen.

ChrisF
quelle
1
Wollen Sie damit sagen, dass ich selbst wenn ich einen 8-GB-RAM auf meiner 32-Bit-Box installiere, nur 3,45 GB habe? und der Rest wird niemals benutzt werden?
Pacerier
1
@ Pacerier - so ähnlich. Es gibt ein Limit von 2 GB pro Prozess und das Limit ist auf die Art des Betriebssystems zurückzuführen - 2, das auf die 32. Potenz angehoben wird, beträgt 4 GB, sodass Sie nicht höher gehen können.
ChrisF
2

Ich vermute etwas völlig anderes als die aktuellen Antworten: Ich frage mich, ob Sie das Update "Microsoft Office-Dateiüberprüfung für Office 2003, 2007 Office und Office 2010" installiert haben.

Der Netzwerkzugriff auf Excel-Dateien wird auf eine CRAWL reduziert. Ich habe ungefähr 1 Minute gebraucht, um eine 21k-Datei zu öffnen. Sobald es sich löst, knall!, Wieder normal.

Siehe meinen Beitrag hier zu Serverfehler und den zugehörigen KB-Artikel, in dem dies als "bekanntes Problem" bezeichnet wird.

/server/286427/slow-opening-of-excel-files-on-the-network

KCotreau
quelle
Beeindruckend! Das klingt intensiv! Glücklicherweise verwende ich Excel 2010 und habe dies auch seit Monaten bemerkt (der Beitrag besagte, dass das Update Anfang dieses Monats war). Vielen Dank für die Hinweise. Ich wünschte, es wäre so einfach geworden!
Zombian
@Zombian OK, zumindest hast du nachgesehen. Ja, Excel 2010 ist davon nicht betroffen, da die problematische Funktionalität des Updates integriert ist, aber nicht doof wie für 2003/2007. Dieses Update verursachte vielen professionellen Administratoren viel Zeit und Haare ziehen. Ich wünschte auch, es wäre so einfach für dich gewesen.
KCotreau
1

Andere Antworten erwähnen Dinge, die zu Ihren Problemen beitragen können, aber keine von ihnen scheint zu erwähnen, dass Excel über integrierte Speicherbeschränkungen verfügt. Es wird nicht der gesamte RAM eines PCs verwendet.

Hier sind einige der Grenzen, die Excel hat:

  • Excel 5: begrenzt auf 16 MB
  • Excel 95/97/2000: auf 64 MB beschränkt
  • Excel 2002: auf 128 MB begrenzt
  • Excel 2003: Beschränkt auf 1 GB Arbeitssatz, weniger für tatsächliche Arbeitsmappen
  • Excel 2007: Beschränkt auf 2 GB Arbeitssatz, weniger für tatsächliche Arbeitsmappen
  • Excel 2010: Begrenzt auf 2 GB in 32-Bit-Excel, 8 Terabyte ( 8000 GB ) in 64-Bit-Excel

Quelle und weitere Informationen: Excel Memory Limits , von Charles Williams, Microsoft Excel MVP

Steven Noto
quelle