Чому chkdsk використовує 90% моєї оперативної пам’яті?


24

Коли я побудував свій новий комп’ютер, я віддав свій старий батькам, які гостро потребували оновлення, після очищення всього з нього, звичайно, залишивши лише ОС і кілька програм. Протягом певного часу він працював чудово, перш ніж почав не завантажувати Windows (він просто застряг). Дослідивши цю поведінку і розпитавши, я вирішив, що це може бути збій жорсткого диска, тому я витягнув його і підключив до власного комп’ютера, щоб запустити на ньому chkdsk (я спочатку робив це, щоб спробувати завантажитися на диск, але оскільки мій комп'ютер налаштований на RAID і що в інсталяції Windows не було драйверів RAID, я просто завантажився у свою власну установку Windows 7 і запустив chkdsk на неї).

Я зробив це в минулу п'ятницю ввечері, і він працює з тих пір (що робить це приблизно 6 днів поки що). Я не здивований, оскільки це може бути повільно, це жорсткий диск на 1 ТБ і західний цифровий "зелений" при цьому, так що, швидше за все, він працює в більш повільному RPM. Я бачу, що це робить прогрес, тому я знаю, що він не застряг, і на моєму комп’ютері постійно постійно вмикається індикатор жорсткого диска, який я не використовував ні для чого іншого, крім обміну файлами через мережу та інтерактивну мережу перегляд, поки це працює.

Мій комп’ютер має 16 Гб оперативної пам’яті, а він працює під управлінням Windows 7 Pro x64. Чому chkdsk займає 90% від цього? Він тримає цей рівень стабільно, і він пробув цілими днями, колись від 90% до 91%, оскільки він звільняє та наповнює пам'ять постійно. Використання процесора дуже низьке (що я очікую, оскільки це дуже важка операція вводу / виводу).

Схоже, нічого поганого не відбувається, але мені цікаво. Чому chkdsk займає стільки пам’яті? Я, принаймні, радий, що, здається, це робиться розумно, оскільки він підтримує високий рівень, не починаючи розбивати основний жорсткий диск шляхом пейджингу.

Хтось знає? Це нормально?

Відповіді:


19

Якщо він бігав кілька днів, я припускаю, що ти біг chkdskіз /rпрапором.

У Windows 7 нормально використовувати стільки оперативної пам’яті. Джерело

Команда файлової системи негайно почала вивчати проблему. [...] [F] rom їхня перспектива використання пам'яті була розроблена і була специфічною зміною Windows 7 для цього сценарію (прапор / r захоплює ексклюзивний замок і відновлює диск, тому ми припускаємо, що ви дійсно хотіли б диск, який потрібно зафіксувати, перш ніж робити більше матеріалів на машині [...]).


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

Це не лише Windows 7; Windows 2008 R2 потрапляє і в цей немислимий стан. Я збиваю один диск для перевірки, і chkdsk абсолютно необхідний для споживання 20 Гб оперативної пам’яті для цього одного диска і уповільнення решти серверів. Це не помилка, 20 Гб пам'яті.
іслала

@icelava: Враховуючи, що 2008 R2 є продовженням кодової бази Windows 7, це не дивно. Це, мабуть, вплине і на всі новіші ОС.
afrazier

Я перевірив свій зовнішній 2TB диск NTFS без перемикачів / r (або будь-який інший), і він все ще споживав майже всю оперативну пам’ять (у мене 5 ГБ). Windows 7 64bit.
Девід Балажич

Цікаво. Я просто запустив його на 1,5 ТБ диска, і він навіть не склав 1 Гб в 8 Гб системі. Я б очікував, що чек лише для читання використовуватиме стільки оперативної пам’яті, скільки потрібно.
afrazier

8

На даний момент я працюю CHKDSK /rна накопичувачі SATA 3 Гб SATA 3 ГБ - Windows 7 x64 Ultimate, CHKDSK споживає 31 ГБ моєї 32 ГБ оперативної пам’яті. Однак якщо ви завантажуєте іншу програму, таку як After Effects, CHKDSK випускає оперативну пам’ять, що дозволяє програмі працювати досить добре.


5

Якщо у вас більше 4 ГБ оперативної пам’яті, ви можете обмежити використання оперативної пам'яті chkdsk до 4 ГБ, використовуючи 32-бітну версію chkdsk. Він знаходиться в C: \ Windows \ SysWow64 \ chkdsk.exe

Це може бути перевагою, оскільки інші вже завантажені програми не будуть замінені на диск, а кеш диска не буде випорожнено. Таким чином, запуск chkdsk паралельно з іншими програмами не шкодить продуктивності інших програм, за винятком випадків, коли вони використовують один і той же диск.


Чудова порада! Моя машина розробників має 48 Гб з причини, і я помітив великий спад продуктивності з новими процесами (і як розробник, нові процеси запускаються дуже і дуже часто) .залежать від роботи chkdskу фоновому режимі, споживаючи майже все це. Це врятувало день;)
Авель

3

Як вже було розміщено, це розроблено в Windows 7. "Дизайн" виправлено починаючи з Windows 8 і тепер chkdsk використовує менше оперативної пам'яті. Якщо ви хочете, щоб спосіб Win7 використовував усю оперативну пам'ять для поліпшення продуктивності роботи chkdskз параметром /perf.

/ perf NTFS only: (Потрібно використовувати з "/ scan") Використовує більше системних ресурсів, щоб якнайшвидше завершити сканування. Це може негативно впливати на інші завдання, що виконуються в системі.


2

Це здається дизайном. Невикористана оперативна пам'ять - це марний ресурс. Немає жодної причини мінімізувати використання оперативної пам’яті та утримувати оперативну пам’ять у «резерві», коли її можна буде практично миттєво переосмислити за потреби. Windows 8 використовуватиме таран для чого-небудь, а не дозволятиме йому сидіти в режимі очікування. Можливо, ця філософія почалася ще в Windows 7 і стосувалася CHKDSK. Я не знаю, яку користь отримує CHKDSK від високого використання оперативної пам’яті, але я готовий вірити, що є користь. Я давно дізнався, що те, що я не розумію, не означає, що немає вагомих причин. Поки використання пам'яті зменшується, оскільки інші програми потребують пам'яті, це не проблема.


2
Невикористаний Рам витрачається лише до тих пір, поки він не звикне до якоїсь іншої програми, яка потребує цього. Якщо ви споживаєте всю оперативну пам’ять, а потім хочете запустити іншу програму, ви просто збільшили час завантаження на порядок, тому що спочатку вам доведеться виправити весь цей матеріал у таран на диск, який болісно повільний. Ніхто не помітив би цього питання, якби це не спричинило проблеми. Завжди мати ОЗУ в запасі для запуску нових процесів - це гарна ідея. Мені хотілося б знати, у кого геніальна ідея споживати всю оперативну пам’ять.
хорта

2
Деякі програми, такі як VMware, відмовляться запускати VM, якщо не буде доступна достатня кількість оперативної пам’яті (вона не намагається споживати оперативну пам’ять, вона просто здається без спроб, тобто chkdsk навіть не має можливості випускати). Вбивство chkdsk має потенційно згубні наслідки, тому ваш вибір: 1) чекати необгрунтовану кількість часу або 2) втрати даних про ризик перевіреного накопичувача. Так, Microsoft.
aggregate1166877

0

Це помилка. У мене сталася ця аварія на моїй машині, використовуючи занадто багато пам’яті, і це з 8 ГБ оперативної пам’яті та файлом підкачки 4 ГБ. Не може так статися. Вони можуть назвати це "задумом", але це безглуздо. Це явно помилка. Немає єдиної дійсної основи для програми chkdsk для зберігання такої кількості даних в операційній пам’яті.


2
Формат запиту і відповіді сайту залишає відповіді на вирішення питання. Цей пост - це справді коментар, а не відповідь. Ви завжди можете коментувати свої власні публікації, і як тільки у вас буде достатня репутація, ви зможете коментувати будь-яку публікацію . Невідповіді, як правило, залучають низові канали і підлягають видаленню.
fixer1234

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