當我有這麼多 RAM 時,為什麼我的系統這麼慢?

當我有這麼多 RAM 時,為什麼我的系統這麼慢?

因此,根據我的作業系統 (XP),我有一台具有 3.45 GB RAM 的電腦。我有 2 GB 虛擬記憶體。

我的公司將 Excel 推向了引用其他工作表的極限,這會消耗大量資源。很多時候,當它運行計算、保存等時,程式有時會出現長達 10 分鐘的掛起。

在查看問題所在時,我注意到處理器的運行速度通常約為 8-12%,但 RAM 通常為 250,000+ KB。這會導致我的電腦運行緩慢,如果我只有 512 或 1 GB RAM,這對我來說是有意義的。我知道 250,000 對於作業系統來說是相當大的內存,但總共 6 GB,我希望性能會更好。

有沒有解釋為什麼它運行得這麼慢?

編輯:我應該澄清一下。我正在尋找更多這背後的概念,而不僅僅是解決我的電腦運行緩慢的問題(這只是一個例子)。我認為在註意到會影響整個系統的嚴重速度變化之前,我應該能夠使用幾乎所有的 RAM。

答案1

其中一些引用的電子表格可能位於 LAN 上嗎?如果是這樣,您對 LAN 上的檔案有什麼類型的連線(100 兆、千兆、無線等)?

Excel非常「健談」。特別是當您處理分佈在各種資源中的參考電子表格和資料時,應用程式可能需要進行大量通訊才能發送和接收必要的資訊。如果大多數檔案位於網路共用和網路磁碟機上,這至少可以解釋您所遇到的速度緩慢的大部分原因。

此外,無論您使用多少內存,您可能會發現 excel.exe 通常不會佔用您期望的那麼多內存。您的電腦上是否正在運行其他不必要的進程?很多任務欄圖示(在你的時鐘旁邊)你不知道它們是如何到達那裡或它們的用途是什麼?

最後,許多公司對Excel 的利用遠遠超出了其最佳功能,就像您的公司一樣(為什麼,哦,為什麼他們在需要資料庫時不使用資料庫,而將Excel 留給簡單的資料記錄和處理功能?上的Excel 速度,沒有顯著差異。

根據連接電子表格的巨集和程式碼的編寫方式,電子表格收集和處理所需資料的速度可能存在本質上的硬性限制。

您所能做的就是識別並減輕所有可能的緩慢點,並祝福最好的結果。

答案2

Windows XP 無法很好地使用超過 1GB 左右的 RAM。某些應用程式可能會使用更多,但沒有任何一個應用程式可以一次使用超過 2GB 的空間,至少在預設情況下是這樣 - 這是應用程式可以看到的最大虛擬位址空間。有一種模式允許 3GB 位址空間,但這可能會導致許多軟體出現相容性問題。

如果你的機器只使用 0.25GB,這看起來很奇怪 - 除非記憶體根本不是你的瓶頸。

如果您的計算機“似乎掛起”,我的猜測是您正在進行大量的硬碟訪問。這可能與 Windows XP 記憶體使用問題相關 - Windows 7 在預測您在不久的將來將使用什麼並對其進行快取方面更加積極。 Windows XP 甚至不會使用那麼多內存用於緩存,更不用說嘗試進行預測緩存,因此您更有可能「破壞」硬碟。

如果這是問題所在,需要考慮的一些選項是...

  1. 嘗試使用虛擬磁碟,以盡量減少硬碟的使用。將文件放在那裡,並確保所有臨時文件也儲存在那裡。甚至有些 ramdisk 會使用 32 位元 Windows XP 可以存取的 4GB 以外的 RAM。

  2. 使用帶條帶化的 raid 陣列來提高硬碟效能。

  3. 使用固態硬碟 - 但請注意,如果您的應用程式正在進行大量寫入,則可能會導致 SSD 過度磨損。此外,Windows XP 並未針對 SSD 進行最佳化 - 請留意支援 Trim 的更新。

基本上,這個想法是(1)強迫您的系統使用 RAM,或(2、3)投資硬體以減少效能瓶頸。

答案3

聽起來您正在使用 32 位元作業系統(您在問題中沒有明確說明),在這種情況下,您的記憶體限制為 3.45GB可尋址的記憶。 Windows 根本不知道任何超出此限制的記憶體。

這意味著,當執行使用大量資源的程式時,您將在大部分時間對磁碟進行分頁,因為作業系統必須將記憶體中的資料與磁碟上的資料交換。您可以嘗試增加頁面檔案的大小(假設這就是您所說的虛擬 RAM),但最好讓 Windows 來管理它。

您需要安裝 64 位元作業系統才能從記憶體中獲得任何效能優勢。

答案4

其他答案提到了可能會導致您的問題的事情,但似乎沒有一個提到這一點Excel 有內建的記憶體限制;它不會使用 PC 的全部 RAM。

以下是 Excel 的一些限制:

  • Excel 5:僅限於16MB
  • Excel 95/97/2000:僅限於64MB
  • Excel 2002:僅限於128MB
  • Excel 2003:僅限於1GB工作集,實際工作簿較少
  • Excel 2007:僅限於2GB工作集,實際工作簿較少
  • Excel 2010:僅限於2GB在 32 位元 Excel 中,8 TB (8000GB) 在 64 位元 Excel 中

來源和更多資訊:Excel 記憶體限制,作者:Charles Williams,Microsoft Excel MVP

相關內容