ทำไมระบบของฉันช้ามากเมื่อฉันมี RAM มาก


8

ดังนั้นฉันมีคอมพิวเตอร์ที่มี RAM ขนาด 3.45 GB ตาม OS (XP) ของฉัน ฉันมี RAM เสมือน 2 GB

บริษัท ของฉันผลัก Excel ให้ถึงขีด จำกัด ของการอ้างอิงแผ่นงานอื่นที่กินทรัพยากรจำนวนมาก บ่อยครั้งเมื่อมันใช้การคำนวณการบันทึก ฯลฯ โปรแกรมจะปรากฏขึ้นเพื่อหยุดเป็นบางครั้งมากถึง 10 นาที

เมื่อต้องการดูว่าปัญหาคืออะไรฉันสังเกตเห็นว่าโปรเซสเซอร์มักจะทำงานที่ประมาณ 8-12% แต่ RAM มักจะเป็น 250,000+ KB นี่ทำให้คอมพิวเตอร์ของฉันทำงานช้าซึ่งจะสมเหตุสมผลถ้าฉันมี 512 หรืออาจเป็นกิกะไบต์ของ RAM ฉันรู้ว่า 250,000 เป็นหน่วยความจำที่ใช้สำหรับ OS แต่มีทั้งหมด 6 GB ฉันคาดว่าจะได้ประสิทธิภาพที่ดีขึ้นมาก

มีคำอธิบายว่าทำไมมันจะทำงานช้ามาก?

แก้ไข: ฉันควรชี้แจง ฉันกำลังมองหาแนวคิดเพิ่มเติมเกี่ยวกับเรื่องนี้ไม่ใช่แค่วิธีแก้ปัญหาที่คอมพิวเตอร์ของฉันทำงานช้า (นั่นเป็นเพียงตัวอย่าง) ฉันอยู่ภายใต้การรับรู้ว่าฉันควรจะสามารถใช้ RAM เกือบทั้งหมดของฉันก่อนที่จะสังเกตเห็นการเปลี่ยนแปลงความเร็วที่รุนแรงซึ่งจะส่งผลกระทบต่อทั้งระบบของฉัน


คุณมีโปรเซสเซอร์อะไร อีกทั้ง RAM 4GB ไม่มาก ปานกลางที่ดีที่สุด แต่มันเป็นคำแนะนำขั้นต่ำที่ฉันจะทำกับทุกคนในวันนี้
Darth Android

มัน "ดีที่สุด" โดยเฉลี่ยสำหรับระบบที่ใช้ XP 32 บิต
Joe Internet

1
@Joe ความสัมพันธ์กับความจุสูงสุดของระบบปฏิบัติการนั้นไม่เกี่ยวข้อง - เกี่ยวข้องเฉพาะกับจำนวนแอปพลิเคชันที่ผู้ใช้ทั่วไปใช้อยู่ในปัจจุบันและจำนวนหน่วยความจำที่ใช้ จริงการเพิ่มจะไม่มีผลจนกว่าเขาจะอัพเกรดเป็นระบบปฏิบัติการ 64 บิต
Darth Android

IMO คุณไม่สามารถลบบริบท hw ออกจาก "ค่าเฉลี่ย" ได้ OP กำลังเรียกใช้ Windows XP ซึ่งมี RAM ขั้นต่ำที่แนะนำ 128M และสนับสนุนขั้นต่ำ 64M ดังนั้นประมาณ 55x ขั้นต่ำที่สนับสนุนอาจสูงกว่าค่าเฉลี่ย
Joe Internet

คำตอบ:


11

สเปรดชีตที่อ้างอิงเหล่านี้อาจอยู่ใน LAN หรือไม่ ถ้าเป็นเช่นนั้นการเชื่อมต่อแบบไหนที่คุณมีต่อไฟล์ใน LAN (100mbit, Gigabit, Wireless, ฯลฯ )

Excel เป็น "ช่างพูด" อย่างมาก โดยเฉพาะอย่างยิ่งเมื่อคุณกำลังจัดการกับสเปรดชีตอ้างอิงและข้อมูลที่กระจายไปทั่วทรัพยากรต่าง ๆ มันสามารถใช้การสื่อสารจำนวนมากสำหรับแอปพลิเคชันเพื่อส่งและรับข้อมูลที่จำเป็น หากไฟล์ส่วนใหญ่อยู่ในเครือข่ายแชร์และไดรฟ์เครือข่ายสิ่งนี้อาจอธิบายอย่างน้อยความเชื่องช้าที่คุณประสบ

นอกจากนี้ไม่ว่าคุณจะใช้หน่วยความจำมากแค่ไหนคุณอาจพบว่า excel.exe มักจะไม่ใช้หน่วยความจำเท่าที่คุณคาดหวัง มีกระบวนการอื่น ๆ ที่ทำงานบนคอมพิวเตอร์ของคุณที่ไม่จำเป็นหรือไม่? ไอคอนแถบงานจำนวนมาก (ถัดจากนาฬิกาของคุณ) ที่คุณไม่รู้ว่าพวกมันไปถึงที่นั่นหรืออะไร

ท้ายที่สุด บริษัท จำนวนมากใช้ประโยชน์จาก Excel ที่ไกลเกินกว่าจะเป็นฟังก์ชั่นที่ดีที่สุดเหมือนที่ บริษัท ของคุณทำ (ทำไมโอ๊ะทำไมพวกเขาถึงไม่ใช้ฐานข้อมูลเมื่อพวกเขาต้องการฐานข้อมูลและปล่อยให้ Excel ?) ฉันพบว่าการเปรียบเทียบความเร็วของ Excel บนเครื่องเก่า / ช้าลงของเรา (IBM desktops อายุ 4 ขวบ 8215 และ 9645) และเครื่องใหม่กว่า / เร็วกว่า (desktop เก่า 6 เดือน, 3269, 9964) และไม่มีความแตกต่างอย่างมีนัยสำคัญ .

ขึ้นอยู่กับว่าแมโครและรหัสที่เชื่อมต่อสเปรดชีตนั้นถูกเขียนไว้อย่างไรอาจมีข้อ จำกัด อย่างมากเกี่ยวกับความเร็วที่สเปรดชีตสามารถรวบรวมและประมวลผลข้อมูลที่ต้องการได้

สิ่งที่คุณทำได้คือการระบุและลดจุดที่เป็นไปได้ทั้งหมดของความช้าและความหวังที่ดีที่สุด


ว้าวคุณจับมัน! ฉันเพิ่งคิดออกว่าด้วยความช่วยเหลือของโพสต์ก่อนหน้านี้และเห็นคำตอบนี้ในภายหลัง และใช่ฉันเห็นด้วยกับฐานข้อมูล ฉันบอกเหตุผลว่า "เพราะเราไม่ต้องการจ่าย DBA" พวกเขาจ่ายเงินให้ฉันเพื่อใช้เวลา 3 ชั่วโมงต่อวันในการเลื่อนนิ้วหัวแม่มือของฉันรอ Excel ฉันแน่ใจว่าส่วนหนึ่งของปัญหาอาจเป็น VBA เนื่องจากฉันสอนตัวเองเป็นหลักด้วย แต่สิ่งที่ฉันสังเกตเห็นอาจเป็นปัญหา LAN มากกว่า ขอบคุณ!
Zombian

4
คุณยินดีอย่างมาก. ข่าวดีก็คืออาจมีวิธีที่มีประสิทธิภาพในการทำสิ่งต่างๆใน Excel งานทั่วไปคือการค้นหาจำนวนแถวของข้อมูล บางคนจะค้นหาค่าสูงสุดของแถวข้อมูลทั้งหมดโดยตั้งสมมติฐานว่าวิธีอื่น ๆ มีความเสี่ยงที่จะรายงานแถวสุดท้ายเมื่อพบเซลล์ว่างเซลล์แรกโดยไม่ทราบว่ามีวิธีที่เร็วกว่าการตรวจสอบด้วยตนเองทั้งช่วงที่ไม่ล้มเหลว เซลล์ว่างแรก อีกวิธีที่ดีในการเข้ารหัส Excel คือการโหลดตารางทั้งหมดลงในอาร์เรย์ซึ่งทำให้พวกเขาอยู่ในหน่วยความจำ สิ่งเล็ก ๆ เช่นนี้เพิ่มขึ้นและช่วยเร่งความเร็วสิ่งต่าง ๆ
music2myear

1
ใช้เวลา 3 ชั่วโมงต่อวันในการเรียนรู้ทฤษฎี SQL และฐานข้อมูลและวิธีการพัฒนาทักษะ Excel VBA ของคุณ ในขณะที่การมี DBA โดยเฉพาะนั้นดีสำหรับสิ่งที่ยากมากหรือของที่มีขนาดใหญ่มากมันไม่ยากเกินไปที่จะไปกับบางสิ่งเช่น SQL Server Express edition
Joe Internet

1
@ โจ: หรือการเข้าถึง(ซึ่งจะเป็นมิตรกับ บริษัท มากขึ้นเพราะพวกเขาอาจติดตั้งแล้ว แต่ง่ายกว่า Excel ที่จะโยกย้ายไปยัง SQL Server สักวันหนึ่ง)
BlueRaja - Danny Pflughoeft

ฉันไม่สามารถนึกถึงผลประโยชน์เดียวที่ Access จะนำมาสู่สถานการณ์นี้นอกเหนือจากความสามารถในการวาดปุ่มบนฟอร์ม หากคุณต้องการสิ่งนั้น Visual Studio Express ยังคงเป็นตัวเลือกที่ดีกว่า
Joe Internet

6

Windows XP ทำงานได้ดีมากในการใช้ RAM มากกว่า 1GB บางแอปพลิเคชั่นอาจใช้งานได้มากกว่า แต่ไม่มีแอปพลิเคชันเดียวที่สามารถใช้งานได้ครั้งละมากกว่า 2GB อย่างน้อยที่สุดโดยค่าเริ่มต้นนั่นคือพื้นที่ที่อยู่เสมือนที่ใหญ่ที่สุดที่แอปพลิเคชันสามารถมองเห็นได้ มีโหมดที่อนุญาตพื้นที่ที่อยู่ 3GB แต่อาจทำให้เกิดปัญหาความเข้ากันได้กับซอฟต์แวร์จำนวนมาก

หากเครื่องของคุณใช้งานเพียง 0.25GB ดูเหมือนว่าจะค่อนข้างแปลกกว่ายกเว้นว่าหน่วยความจำไม่ใช่คอขวดของคุณเลย

หากเครื่องของคุณ "ดูเหมือนจะแฮงค์" ฉันเดาได้เลยว่าคุณเข้าถึงฮาร์ดดิสก์ได้มาก นั่นอาจทำให้ปัญหาการใช้หน่วยความจำ Windows XP เกี่ยวข้อง - Windows 7 มีความก้าวร้าวมากขึ้นในการทำนายสิ่งที่คุณจะใช้ในอนาคตอันใกล้และทำการแคช Windows XP จะไม่ใช้หน่วยความจำขนาดใหญ่สำหรับแคชเพียงอย่างเดียวลองทำการแคชล่วงหน้าดังนั้นคุณจึงมีแนวโน้มที่จะ "บีบ" ฮาร์ดดิสก์

หากเป็นปัญหาตัวเลือกบางอย่างที่ควรพิจารณาคือ ...

  1. ลองใช้ ramdisk เพื่อลดการใช้งานฮาร์ดดิสก์ วางเอกสารที่นั่นและตรวจสอบให้แน่ใจว่ามีการจัดเก็บไฟล์ชั่วคราวไว้ที่นั่นด้วย มีแม้กระทั่ง ramdisks บางตัวที่จะใช้ RAM นอก 4GB ที่ Windows XP แบบ 32 บิตสามารถเข้าถึงได้

  2. ใช้อาร์เรย์การโจมตีพร้อมการสตริปเพื่อปรับปรุงประสิทธิภาพฮาร์ดดิสก์ของคุณ

  3. ใช้โซลิดสเตตฮาร์ดดิสก์ - แต่ระวังว่าหากแอปพลิเคชันของคุณทำการเขียนจำนวนมากซึ่งอาจทำให้เกิดการสึกหรอมากเกินไปสำหรับ SSD นั้น นอกจากนี้ Windows XP ยังไม่ได้รับการปรับให้เหมาะกับ SSD ดูการอัพเดทเพื่อรองรับการตัด

โดยทั่วไปความคิดคือ (1) บังคับให้ระบบของคุณใช้ RAM หรือ (2, 3) เพื่อลงทุนในฮาร์ดแวร์ที่จะลดปัญหาคอขวดของคุณ


ขอบคุณ! ฉันใช้โปรไฟล์ข้ามเขตและทำให้ฉันรู้ว่าการอ่าน / เขียนไปยังเซิร์ฟเวอร์สำหรับไฟล์ที่ฉันกำลังทำงานอยู่อาจเป็นปัญหาส่วนใหญ่ นอกจากนี้เอกสารที่ดี! ขอบคุณอีกครั้ง.
Zombian

2

ดูเหมือนว่าคุณกำลังใช้ระบบปฏิบัติการ 32 บิต (คุณไม่ได้พูดอย่างชัดเจนในคำถาม) ในกรณีนี้คุณ จำกัดหน่วยความจำที่อยู่ได้ 3.45GB Windows ไม่ทราบเกี่ยวกับหน่วยความจำเกินขีด จำกัด นี้

ซึ่งหมายความว่าเมื่อเรียกใช้โปรแกรมที่ใช้ทรัพยากรจำนวนมากคุณจะเพจไปยังดิสก์บ่อยครั้งเนื่องจากระบบปฏิบัติการจำเป็นต้องสลับข้อมูลในหน่วยความจำกับที่อยู่บนดิสก์ คุณสามารถลองเพิ่มขนาดของไฟล์หน้าของคุณ (สมมติว่านั่นคือสิ่งที่คุณหมายถึงโดย RAM เสมือน) แต่คุณควรปล่อยให้ Windows จัดการสิ่งนี้

คุณจะต้องติดตั้งระบบปฏิบัติการ 64 บิตเพื่อรับประโยชน์ด้านประสิทธิภาพใด ๆ จากหน่วยความจำของคุณ


1
คุณหมายถึงว่าแม้ว่าฉันจะติดตั้ง RAM 8GB ในกล่อง 32 บิตของฉันฉันจะมีเพียง 3.45 GB? และส่วนที่เหลือจะไม่ถูกใช้อีกเลย?
Pacerier

1
@Pierier - อะไรทำนองนั้น มีการ จำกัด 2GB ต่อกระบวนการและการ จำกัด นั้นเป็นเพราะลักษณะของระบบปฏิบัติการ - 2 ยกกำลัง 32 เป็น 4GB เพื่อให้คุณไม่สามารถไปได้สูงขึ้น
ChrisF

2

ฉันสงสัยว่าบางอย่างแตกต่างจากคำตอบปัจจุบัน: ฉันสงสัยว่าคุณมีการติดตั้งการปรับปรุง "Microsoft Office File Validation สำหรับ Office 2003, Office 2007 และ Office 2010" หรือไม่

มันทำให้การเข้าถึงเครือข่ายของไฟล์ Excel ลงไปที่ CRAWL ฉันใช้เวลาประมาณ 1 นาทีเพื่อเปิดไฟล์ 21k ทันทีที่มันออกมาปัง! กลับสู่ปกติ

ดูโพสต์ของฉันที่นี่ใน Server Fault และบทความ KB ที่เกี่ยวข้องซึ่งบันทึกสิ่งนี้ว่า "ปัญหาที่ทราบ"

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


ว้าว! นั่นฟังดูรุนแรง! โชคดีที่ฉันใช้ Excel 2010 และฉันก็สังเกตเห็นสิ่งนี้มาหลายเดือนแล้ว (โพสต์กล่าวว่าการอัปเดตนั้นเมื่อต้นเดือนนี้) ขอบคุณสำหรับหัวขึ้นแม้ว่า ฉันหวังว่ามันจะง่ายขึ้น!
Zombian

@ Zombian ตกลงอย่างน้อยคุณก็ตรวจสอบ ใช่ไม่ส่งผลกระทบต่อ Excel 2010 เนื่องจากฟังก์ชันการทำงานที่เป็นปัญหาของการอัปเดตถูกสร้างขึ้น แต่ไม่ได้โง่เหมือนในปี 2003/2007 การอัปเดตดังกล่าวทำให้ผู้ดูแลระบบมืออาชีพใช้เวลาและการดึงเส้นผมบ่อยครั้ง ฉันก็หวังว่ามันจะง่ายสำหรับคุณ
KCotreau

1

คำตอบอื่น ๆ พูดถึงสิ่งต่าง ๆ ที่อาจทำให้เกิดปัญหาของคุณ แต่ดูเหมือนว่าไม่มีใครพูดถึงว่าExcel มีขีด จำกัด หน่วยความจำในตัว มันจะไม่ใช้ RAM ของพีซีทั้งหมด

นี่คือข้อ จำกัด บางประการที่ Excel มี:

  • Excel 5: จำกัด ไว้ที่16MB
  • Excel 95/97/2000: จำกัด ที่64MB
  • Excel 2002: จำกัด ที่128MB
  • Excel 2003: จำกัดชุดการทำงาน1GBน้อยสำหรับเวิร์กบุ๊กจริง
  • Excel 2007: จำกัดชุดการทำงาน2GBสำหรับหนังสือจริงน้อยกว่า
  • Excel 2010: จำกัด ไว้ที่2GBใน Excel 32 บิต, 8 terabytes ( 8000GB ) ใน Excel 64 บิต

ที่มาและข้อมูลเพิ่มเติม: ข้อ จำกัด หน่วยความจำ Excelโดย Charles Williams, Microsoft Excel MVP

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.