Чому моя система так повільна, коли у мене так багато оперативної пам'яті?


8

Так що у мене є комп'ютер з 3,45 ГБ оперативної пам'яті відповідно до моєї ОС (XP). У мене 2 ГБ віртуальної пам'яті.

Моя компанія штовхає Excel на свої межі посилання на інші листи, які з'їдає багато ресурсів. Часто, коли він виконує розрахунки, зберігає і т.д., програма, як видається, повіситься іноді цілих 10 хвилин.

При пошуку, щоб побачити, що проблема, я помітив, процесор зазвичай працює близько 8-12%, але оперативна пам'ять, як правило, 250 000 + КБ. Це викликає мій комп'ютер, щоб працювати повільно, що має сенс для мене, якщо я тільки 512 або, можливо, гігабайт оперативної пам'яті. Я знаю, що 250,000 - це зовсім небагато пам'яті для ОС, але, маючи в цілому 6 Гб, я очікував би набагато кращу продуктивність.

Чи є пояснення, чому він буде працювати так повільно?

edit: Я повинен уточнити. Я шукаю більше концепції за це не тільки рішення для мого комп'ютера працює повільно (що тільки мусить бути приклад). Я був під думкою, що я повинен бути в змозі використовувати майже всі мої оперативної пам'яті, перш ніж помітити серйозні зміни швидкості, які вплинуть на всю мою систему.


Який процесор у вас є? Крім того, 4 Гб оперативної пам'яті не так вже й багато. Середній у кращому випадку, але це - мінімальна рекомендація, яку я б зробив кожному сьогодні.
Darth Android

Навряд чи це "середній у кращому випадку" для системи, що працює з XP 32-bit.
Joe Internet

1
@Joe Відношення до максимальної потужності ОС не має значення - тільки відношення до кількості додатків, які використовує середній користувач у ці дні, і скільки пам'яті вони займають. Правда, додавання більше не матиме ефекту, поки він не оновиться до 64-розрядної ОС.
Darth Android

IMO, ви не можете видалити контекст hw з "середнього". Операційна система працює під керуванням Windows XP, яка має рекомендований мінімальний обсяг оперативної пам'яті 128M, з підтримуваним мінімумом 64M. Таким чином, приблизно 55x підтримуваний мінімум, ймовірно, вище середнього.
Joe Internet

Відповіді:


11

Чи можуть деякі з цих електронних таблиць бути в локальній мережі? Якщо так, то який тип підключення ви маєте до файлів у локальній мережі (100 Мбіт, гігабіт, бездротовий тощо)?

Excel дуже "балакучий". Особливо, коли ви маєте справу з довідковими електронними таблицями та даними, рознесеними по різних ресурсах, для надсилання й отримання необхідної інформації може знадобитися багато комунікацій. Якщо більшість файлів розташовано на мережевих ресурсах та мережевих дисках, це може пояснювати принаймні частину повільності, яку ви відчуваєте.

Крім того, незалежно від того, скільки пам'яті ви використовуєте, ви, ймовірно, знайдете excel.exe зазвичай не забирає стільки пам'яті, скільки ви очікуєте. Чи є на комп'ютері інші процеси, які не потрібні? Багато піктограм панелі завдань (поряд з годинником), які ви не уявляєте, як вони потрапили туди або за що вони?

Нарешті, багато компаній використовують Excel набагато більше, ніж найкращі функції, як, здається, ваша компанія робить (чому, о, чому вони не використовують базу даних, коли їм потрібна база даних і залишають Excel до простої функції запису та обробки даних ??? ?), Я виявив, що порівняння швидкості Excel на наших старих / повільніше машинах (4-річні настільні комп'ютери IBM 8215 і 9645) і новіші / більш швидкі машини (6 місяців старі настільні комп'ютери, 3269, 9964), і немає істотної різниці .

Залежно від способу написання макросів і коду, що з'єднує електронні таблиці, можуть існувати суттєві обмеження на те, наскільки швидко ця таблиця може збирати та обробляти потрібні дані.

Все, що ви можете зробити, це визначити і пом'якшити всі можливі моменти повільності, які ви можете, і сподіватися на краще.


Wow ви прибили це! Я тільки що зрозумів це з допомогою попереднього посту і побачив цю відповідь після цього. І так, я погоджуюся з базою даних. Мені сказали, що причина "тому, що ми не хочемо платити DBA". Замість цього вони платять мені витрачати 3 години на день, обхоплюючи мої великі пальці, чекаючи на Excel. Я впевнений, що частина питання може бути VBA, так як я в першу чергу самонавчання теж, але те, що я помічаю, ймовірно, більше проблеми LAN. Дякую!
Zombian

4
Ви дуже бажані. Хороша новина полягає в тому, що в Excel можна робити відносно ефективні способи. Загальним завданням є пошук кількості рядків даних. Деякі користувачі здійснюватимуть пошук за попередньо встановленим максимумом для всіх рядків даних, припускаючи, що інші способи ризикують повідомляти про останній рядок, коли вони стикаються з першою порожньою коміркою, не розуміючи, що існують більш швидкі способи, ніж вручну перевіряти весь діапазон, який не вийде з порожня клітина. Ще однією гарною практикою кодування excel є завантаження цілих таблиць в масиви, які зберігають їх локально в пам'яті. Такі дрібні речі доповнюють швидкість.
music2myear

1
Витратьте ці 3 години на день на навчання SQL & amp; теорії баз даних, і як поліпшити свої навички Excel VBA. Хоча маючи спеціальний DBA добре для дуже важких речей, або дуже велика залізна речовина, це не надто важко отримати збирається з чимось на зразок SQL Server Express видання.
Joe Internet

1
@Joe: Або доступ (яка була б більш дружньою до компанії, тому що вони, напевно, всі вже встановлені, але набагато простіше, ніж Excel, щоб перейти на SQL Server коли-небудь)
BlueRaja - Danny Pflughoeft

Я не можу придумати жодної вигоди, яку Access принесе до цієї ситуації, крім можливості малювати кнопки на формах. Якщо вам це дійсно потрібно, Visual Studio Express як і раніше кращий вибір.
Joe Internet

6

Windows XP не робить дуже хорошу роботу з використанням більш ніж 1 Гб оперативної пам'яті. Деякі програми можуть використовувати більше, але жодна програма не може використовувати більше 2 Гб за раз, принаймні за замовчуванням - це найбільший віртуальний адресний простір, який може бачити програма. Там є режим, який дозволяє 3 Гб адресного простору, але це може викликати проблеми сумісності для багатьох програм.

Якщо ваша машина використовує лише 0,25 Гб, це виглядає досить дивно - якщо пам'ять зовсім не є вашим вузьким місцем.

Якщо ваша машина "висить", я припускаю, що ви робите багато доступу до жорсткого диска. Це може зробити проблему використання пам'яті Windows XP актуальною - Windows 7 набагато агресивніше передбачає те, що ви будете використовувати в найближчому майбутньому, і кешувати його. Windows XP навіть не використовуватиме таку кількість пам'яті для кешу, не кажучи вже про спроби кешувати інтелектуальне кешування, так що ви набагато частіше "треште" жорсткий диск.

Якщо це проблема, деякі варіанти для розгляду ...

  1. Спробуйте використати ramdisk, щоб мінімізувати використання жорсткого диска. Покладіть документи там, і переконайтеся, що всі тимчасові файли також зберігаються там. Є навіть деякі ramdisks доступні, які будуть використовувати RAM за межами 4 Гб, що 32-розрядний Windows XP може отримати доступ.

  2. Використовуйте масив рейдів з розбиттям, щоб покращити продуктивність жорсткого диска.

  3. Використовуйте твердотільний жорсткий диск - але знайте, що якщо ваша програма робить багато записів, це може призвести до надмірного зносу для цього SSD. Крім того, Windows XP не оптимізований для SSD-дисків - шукайте оновлення для підтримки Trim.

В принципі, ідея полягає в тому, щоб (1) змусити вашу систему використовувати оперативну пам'ять або (2, 3), щоб інвестувати в апаратне забезпечення, що зменшить вузьке місце в продуктивності.


Дякую! Я використовую роумінг-профіль, і це змусило мене зрозуміти, що читання / запис на сервер для файлів, над якими я працюю, ймовірно, є великою частиною проблеми. Крім того, добре задокументовано! Знову дякую.
Zombian

2

Здається, ви використовуєте 32-бітну операційну систему (ви не вказуєте для певного питання), у цьому випадку ви обмежені для 3.45 Гб адресується пам'яті. Windows просто не знає жодної пам'яті, яка перевищує цю межу.

Це означає, що під час запуску програм, які використовують багато ресурсів, ви будете підкачувати на диску більшу частину часу, оскільки ОС повинна поміняти дані в пам'яті з тим, що на диску. Ви можете спробувати збільшити розмір файлу сторінки (припускаючи, що ви маєте на увазі віртуальну оперативну пам'ять), але краще відпустити Windows.

Вам потрібно буде встановити 64-бітну операційну систему, щоб отримати користь від продуктивності пам'яті.


1
Ви маєте на увазі сказати, що навіть якщо я встановлюю 8 Гб оперативної пам'яті на моєму 32-бітному вікні я буду тільки 3.45 Гб? а решта ніколи не буде використана?
Pacerier

1
@Pacerier - щось подібне. Там на 2 ГБ обмеження на процес, і межа пов'язана з природою ОС - 2, піднятий на 32-й потужності 4 Гб, так що ви не можете піти вище.
ChrisF

2

Я підозрюю щось зовсім інше, ніж поточні відповіді: мені цікаво, чи встановлено оновлення "Перевірка файлів Microsoft Office для Office 2003, Office і Office 2010".

Це приносить мережевий доступ до файлів Excel до CRAWL. Мені знадобилося близько 1 хвилини, щоб відкрити 21k файл. Як тільки він відривається, вибухає!

Див. Мій пост тут, на сервері Fault, і пов'язаної з нею статті KB, яка відзначає це як "відому проблему".

https://serverfault.com/questions/286427/slow-opening-of-excel-files-on-the-network


Оце Так! Це звучить напружено! На щастя, я працюю з Excel 2010, і я також помічаю це протягом місяців (повідомлення повідомляє, що оновлення було на початку цього місяця). Спасибі за голови хоч. Я бажаю це закінчилося будучи таким чином звичайним!
Zombian

@ Zombian OK, принаймні ви перевірили. Так, це не впливає на Excel 2010, оскільки проблемна функціональність оновлення вбудована, але не нагадує, що стосується 2003/2007. Це оновлення викликало багато професійних адміністраторів багато часу і потягнувши волосся. Я також бажаю, щоб це було так легко для вас.
KCotreau

1

У інших відповідях згадуються речі, які можуть сприяти вашим проблемам, але ніхто з них не згадує про це Excel має вбудовані обмеження пам'яті; він не використовуватиме всю оперативну пам'ять комп'ютера.

Ось деякі з обмежень Excel:

  • Excel 5: обмежена 16 Мб
  • Excel 95/97/2000: обмежено 64 Мб
  • Excel 2002: обмежена на 128 Мб
  • Excel 2003: обмежена на 1 Гб робочий набір, менший за фактичні книги
  • Excel 2007: обмежена на 2 Гб робочий набір, менший за фактичні книги
  • Excel 2010: обмежено 2 Гб в 32-бітному Excel, 8 терабайт ( 8000 Гб ) в 64-бітному Excel

Джерело та більше інформації: Обмеження пам'яті Excel Шарля Вільямса, Microsoft Excel MVP

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.