Tại sao hệ thống của tôi quá chậm khi tôi có quá nhiều RAM?


8

Vì vậy, tôi có một máy tính có 3,45 GB RAM theo hệ điều hành (XP). Tôi có RAM ảo 2 GB.

Công ty của tôi đẩy Excel đến giới hạn của nó để tham khảo các bảng tính khác tiêu tốn nhiều tài nguyên. Thông thường, khi nó đang chạy tính toán, lưu, v.v., chương trình sẽ xuất hiện để treo trong khoảng 10 phút.

Khi tìm hiểu xem vấn đề là gì, tôi nhận thấy bộ xử lý thường chạy ở mức khoảng 8-12% nhưng RAM thường là 250.000+ KB. Điều này khiến máy tính của tôi chạy chậm, điều này có ý nghĩa với tôi nếu tôi chỉ có 512 hoặc có thể là một Gigabyte RAM. Tôi biết rằng 250.000 là khá nhiều bộ nhớ được sử dụng cho HĐH, nhưng có tổng cộng 6 GB, tôi sẽ mong đợi hiệu năng tốt hơn nhiều.

Có một lời giải thích là tại sao nó sẽ chạy chậm như vậy?

chỉnh sửa: Tôi nên làm rõ. Tôi đang tìm kiếm thêm khái niệm đằng sau điều này không chỉ là một giải pháp cho máy tính của tôi chạy chậm (đó chỉ là một ví dụ). Tôi đã nhận thức được rằng tôi sẽ có thể sử dụng gần như tất cả RAM của mình trước khi nhận thấy những thay đổi tốc độ nghiêm trọng sẽ ảnh hưởng đến toàn bộ hệ thống của tôi.


Bạn có bộ xử lý nào? Ngoài ra, 4GB ram không nhiều. Trung bình ở mức tốt nhất, nhưng đó là khuyến nghị tối thiểu mà tôi sẽ đưa ra cho bất kỳ ai hôm nay.
Darth Android

Nó hầu như không "trung bình ở mức tốt nhất" cho một hệ thống chạy XP 32 bit.
Joe Internet

1
@Joe Liên quan đến dung lượng tối đa của HĐH là không liên quan-- chỉ liên quan đến số lượng ứng dụng mà người dùng trung bình sử dụng hiện nay và dung lượng bộ nhớ mà họ chiếm. Đúng, thêm nhiều hơn sẽ không có hiệu lực cho đến khi anh ta nâng cấp lên HĐH 64 bit.
Darth Android

IMO, bạn không thể xóa ngữ cảnh hw khỏi "mức trung bình". OP đang chạy Windows XP, có RAM tối thiểu được giới thiệu lại là 128M, với tối thiểu được hỗ trợ là 64M. Vì vậy, khoảng 55x mức tối thiểu được hỗ trợ có lẽ là trên trung bình.
Joe Internet

Câu trả lời:


11

Có thể một số bảng tính được tham chiếu này có trên mạng LAN không? Nếu vậy, bạn có loại kết nối nào với các tệp trên mạng LAN (100mbit, Gigabit, không dây, v.v.)?

Excel rất "trò chuyện". Đặc biệt là khi bạn đang xử lý các bảng tính tham chiếu và dữ liệu trải rộng trên nhiều tài nguyên khác nhau, ứng dụng có thể mất rất nhiều thông tin liên lạc để ứng dụng gửi và nhận thông tin cần thiết. Nếu hầu hết các tệp nằm trên chia sẻ mạng và ổ đĩa mạng, điều này có thể giải thích ít nhất một phần của sự chậm chạp mà bạn gặp phải.

Hơn nữa, bất kể bạn đang sử dụng bao nhiêu bộ nhớ, có thể bạn sẽ thấy excel.exe thường không chiếm nhiều bộ nhớ như bạn mong đợi. Có các quy trình khác đang chạy trên máy tính của bạn không cần thiết không? Rất nhiều biểu tượng trên thanh tác vụ (bên cạnh đồng hồ của bạn) mà bạn không biết làm thế nào họ đến đó hoặc họ đang làm gì?

Cuối cùng, rất nhiều công ty tận dụng Excel vượt xa các chức năng tốt nhất của nó, giống như công ty của bạn làm (tại sao, tại sao họ không sử dụng cơ sở dữ liệu khi họ cần cơ sở dữ liệu và để Excel chuyển sang các chức năng ghi và xử lý dữ liệu đơn giản ??? ?? .

Tùy thuộc vào cách các macro và mã kết nối các bảng tính được viết, có thể có những giới hạn cứng cơ bản đối với tốc độ mà bảng tính có thể thu thập và xử lý dữ liệu cần thiết.

Tất cả những gì bạn có thể làm là xác định và giảm thiểu tất cả những điểm có thể làm chậm bạn có thể, và hy vọng điều tốt nhất.


Wow bạn đóng đinh nó! Tôi đã chỉ ra rằng với sự giúp đỡ của bài viết trước và thấy câu trả lời này sau đó. Và vâng tôi đồng ý về cơ sở dữ liệu. Tôi được cho biết lý do là "vì chúng tôi không muốn phải trả DBA". Thay vào đó, họ trả tiền cho tôi để dành 3 giờ mỗi ngày để xoay ngón tay cái chờ đợi Excel. Tôi chắc chắn một phần của vấn đề có thể là VBA vì tôi chủ yếu tự học nhưng điều tôi nhận thấy có lẽ là vấn đề về mạng LAN. Cảm ơn!
Zombian

4
Bạn được chào đón. Tin tốt là có thể có những cách tương đối hiệu quả để làm mọi thứ trong Excel. Một nhiệm vụ phổ biến là tìm số lượng hàng dữ liệu. Một số người sẽ tìm kiếm tối đa đặt trước cho tất cả các hàng dữ liệu, giả sử rằng các cách khác có nguy cơ báo cáo hàng cuối cùng khi họ gặp ô trống đầu tiên, không nhận ra có những cách nhanh hơn so với kiểm tra thủ công toàn bộ phạm vi không thành công ô trống đầu tiên. Một thực hành tốt khác trong mã hóa excel là tải toàn bộ các bảng thành các mảng, giúp chúng giữ cục bộ trong bộ nhớ. Những thứ nhỏ như thế này cộng lại và giúp tăng tốc mọi thứ.
âm nhạc2myear

1
Dành 3 giờ mỗi ngày để học lý thuyết SQL & cơ sở dữ liệu và cách cải thiện các kỹ năng VBA Excel của bạn. Mặc dù có một DBA chuyên dụng rất tốt cho những thứ rất khó, hoặc những thứ rất lớn, nhưng không quá khó để bắt đầu với một thứ như phiên bản SQL Server Express.
Joe Internet

1
@Joe: Hoặc Access (sẽ thân thiện hơn với công ty vì có lẽ tất cả họ đã cài đặt nó, nhưng dễ dàng hơn nhiều so với Excel để chuyển sang SQL Server vào một ngày nào đó)
BlueRaja - Danny Pflughoeft

Tôi không thể nghĩ đến một lợi ích duy nhất mà Access sẽ mang lại cho tình huống này, ngoài khả năng vẽ các nút trên biểu mẫu. Nếu bạn thực sự cần điều đó, Visual Studio Express vẫn là lựa chọn tốt hơn.
Joe Internet

6

Windows XP không làm tốt lắm việc sử dụng nhiều hơn khoảng 1GB RAM. Một số ứng dụng có thể sử dụng nhiều hơn, nhưng không có ứng dụng nào có thể sử dụng nhiều hơn 2GB mỗi lần, ít nhất là theo mặc định - đó là không gian địa chỉ ảo lớn nhất mà ứng dụng có thể nhìn thấy. Có một chế độ cho phép không gian địa chỉ 3 GB, nhưng điều đó có thể gây ra sự cố tương thích cho nhiều phần mềm.

Nếu máy của bạn chỉ sử dụng 0,25GB, điều đó có vẻ khá tồi tệ - trừ khi bộ nhớ hoàn toàn không phải là nút cổ chai của bạn.

Nếu máy của bạn "có vẻ bị treo", tôi đoán bạn sẽ truy cập nhiều vào ổ cứng. Điều đó có thể khiến vấn đề sử dụng bộ nhớ Windows XP có liên quan - Windows 7 tích cực hơn nhiều trong việc dự đoán những gì bạn sẽ sử dụng trong tương lai gần và lưu vào bộ nhớ cache. Windows XP thậm chí sẽ không sử dụng nhiều bộ nhớ đó cho bộ nhớ cache, chứ đừng nói đến việc cố gắng thực hiện bộ nhớ đệm dự đoán, do đó bạn có nhiều khả năng "đập" đĩa cứng.

Nếu đó là vấn đề, một số tùy chọn để xem xét là ...

  1. Hãy thử sử dụng một đĩa RAM, để giảm thiểu việc sử dụng đĩa cứng. Đặt các tài liệu ở đó và đảm bảo mọi tệp tạm thời cũng được lưu trữ ở đó. Thậm chí có một số ramdisks có sẵn sẽ sử dụng RAM ngoài 4GB mà Windows XP 32 bit có thể truy cập.

  2. Sử dụng một mảng đột kích với phân chia, để cải thiện hiệu suất đĩa cứng của bạn.

  3. Sử dụng đĩa cứng trạng thái rắn - nhưng lưu ý rằng nếu ứng dụng của bạn ghi nhiều, điều đó có thể gây hao mòn quá mức cho ổ SSD đó. Ngoài ra, Windows XP không được tối ưu hóa cho SSD - hãy xem các bản cập nhật để hỗ trợ Trim.

Về cơ bản, ý tưởng là (1) để buộc hệ thống của bạn sử dụng RAM hoặc (2, 3) đầu tư vào phần cứng sẽ làm giảm tắc nghẽn hiệu suất của bạn.


Cảm ơn bạn! Tôi sử dụng một hồ sơ chuyển vùng và điều này khiến tôi nhận ra rằng việc đọc / ghi vào máy chủ cho các tệp tôi đang làm việc có lẽ là một phần lớn của vấn đề. Ngoài ra, tài liệu tốt! Cảm ơn một lần nữa.
Zombian

2

Có vẻ như bạn đang sử dụng hệ điều hành 32 bit (bạn không nói rõ ràng trong câu hỏi), trong trường hợp đó, bạn bị giới hạn ở 3,45GB bộ nhớ có thể đánh địa chỉ . Windows chỉ đơn giản là không biết về bất kỳ bộ nhớ nào vượt quá giới hạn này.

Điều này có nghĩa là khi chạy các chương trình sử dụng nhiều tài nguyên, bạn sẽ phải phân trang vào đĩa nhiều lần vì HĐH phải trao đổi dữ liệu trong bộ nhớ với dữ liệu trên đĩa. Bạn có thể thử tăng kích thước tệp trang của mình (giả sử đó là ý nghĩa của RAM ảo), nhưng tốt hơn hết là bạn nên để Windows quản lý việc này.

Bạn sẽ cần cài đặt hệ điều hành 64 bit để đạt được bất kỳ lợi ích hiệu suất nào từ bộ nhớ của bạn.


1
bạn có muốn nói rằng ngay cả khi tôi cài đặt ram 8GB trên hộp 32 bit của mình, tôi sẽ chỉ có 3,45 GB? và phần còn lại sẽ không bao giờ được sử dụng?
Pacerier

1
@Pacerier - đại loại thế. Có giới hạn 2GB cho mỗi quy trình và giới hạn là do bản chất của HĐH - 2 được nâng lên mức 32 là 4GB nên bạn không thể tăng cao hơn.
ChrisF

2

Tôi nghi ngờ điều gì đó hoàn toàn khác với các câu trả lời hiện tại: Tôi tự hỏi liệu bạn đã cài đặt bản cập nhật "Xác thực tệp Microsoft Office cho Office 2003, 2007 Office và Office 2010" chưa.

Nó mang lại quyền truy cập mạng của các tệp Excel xuống CRAWL. Tôi mất khoảng 1 phút để mở tệp 21k. Ngay khi nó tắt, bang!, Trở lại bình thường.

Xem bài đăng của tôi ở đây trên Server Fault và bài viết KB liên quan, ghi chú đây là "sự cố đã biết".

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


Ồ Nghe có vẻ dữ dội! May mắn là tôi đang chạy Excel 2010 và tôi cũng đã nhận thấy điều này trong nhiều tháng (bài đăng cho biết bản cập nhật là vào đầu tháng này). Cảm ơn cho những người đứng đầu mặc dù. Tôi ước nó đã trở nên đơn giản!
Zombian

@Zombian OK, ít nhất bạn đã kiểm tra. Có, nó không ảnh hưởng đến Excel 2010 vì chức năng có vấn đề của bản cập nhật được tích hợp, nhưng không hề ngớ ngẩn như năm 2003/2007. Bản cập nhật đó đã gây ra rất nhiều quản trị viên chuyên nghiệp rất nhiều thời gian và tóc kéo. Tôi cũng muốn nó đã được dễ dàng cho bạn.
KCotreau

1

Các câu trả lời khác đề cập đến những điều có thể đóng góp cho các vấn đề của bạn, nhưng dường như không ai trong số chúng đề cập rằng Excel có giới hạn bộ nhớ tích hợp; nó sẽ không sử dụng tất cả RAM của PC.

Dưới đây là một số giới hạn mà Excel có:

  • Excel 5: giới hạn ở 16MB
  • Excel 95/97/2000: giới hạn ở 64MB
  • Excel 2002: giới hạn ở 128MB
  • Excel 2003: giới hạn ở 1GB bộ làm việc, ít hơn cho các sổ làm việc thực tế
  • Excel 2007: giới hạn ở bộ làm việc 2GB , ít hơn cho sổ làm việc thực tế
  • Excel 2010: giới hạn ở mức 2 GB trong Excel 32 bit, 8 terabyte ( 8000 GB ) trong Excel 64 bit

Nguồn và thông tin thêm: Giới hạn bộ nhớ Excel , bởi Charles Williams, Microsoft Excel MVP

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.