คำถามติดแท็ก out-of-memory

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

30
มีปัญหาหน่วยความจำแปลก ๆ ในขณะที่โหลดรูปภาพไปยังวัตถุบิตแมป
ฉันมีมุมมองรายการพร้อมปุ่มภาพสองปุ่มในแต่ละแถว เมื่อคุณคลิกแถวรายการมันจะเปิดกิจกรรมใหม่ ฉันต้องสร้างแท็บของตัวเองเพราะมีปัญหากับเลย์เอาต์ของกล้อง กิจกรรมที่เปิดตัวสำหรับผลลัพธ์คือแผนที่ หากฉันคลิกที่ปุ่มของฉันเพื่อเปิดภาพตัวอย่าง (โหลดภาพออกจากการ์ด SD) แอปพลิเคชันจะส่งกลับจากกิจกรรมกลับไปที่listviewกิจกรรมไปยังตัวจัดการผลลัพธ์เพื่อเปิดใช้งานกิจกรรมใหม่ของฉันซึ่งไม่มีอะไรมากไปกว่าวิดเจ็ตรูปภาพ ListAdapterตัวอย่างภาพในมุมมองรายการจะถูกดำเนินการด้วยเคอร์เซอร์และ มันทำให้มันค่อนข้างง่าย แต่ฉันไม่แน่ใจว่าฉันจะใส่ภาพที่ปรับขนาดได้อย่างไร (Ie Smaller บิตขนาดเล็กไม่ใช่พิกเซลเป็นปุ่มsrcสำหรับภาพทันทีฉันเลยปรับขนาดรูปภาพที่หลุดจากกล้องโทรศัพท์ ปัญหาคือฉันได้รับข้อผิดพลาดหน่วยความจำไม่เพียงพอเมื่อพยายามย้อนกลับและเปิดใช้งานกิจกรรมที่ 2 อีกครั้ง มีวิธีที่ฉันสามารถสร้างรายการอะแดปเตอร์ได้อย่างง่ายดายทีละแถวที่ฉันสามารถปรับขนาดได้ทันที ( bit ฉลาด )? สิ่งนี้จะดีกว่าเนื่องจากฉันยังต้องทำการเปลี่ยนแปลงคุณสมบัติของวิดเจ็ต / องค์ประกอบในแต่ละแถวเนื่องจากฉันไม่สามารถเลือกแถวด้วยหน้าจอสัมผัสได้เนื่องจากปัญหาโฟกัส ( ฉันสามารถใช้ลูกลูกกลิ้ง ) ฉันรู้ว่าฉันสามารถปรับขนาดวงนอกและบันทึกภาพของฉันได้ แต่นั่นไม่ใช่สิ่งที่ฉันต้องการทำจริงๆ ทันทีที่ฉันปิดการใช้งานภาพในมุมมองรายการมันทำงานได้ดีอีกครั้ง FYI: นี่คือวิธีที่ฉันทำ: String[] from = new String[] { DBHelper.KEY_BUSINESSNAME,DBHelper.KEY_ADDRESS,DBHelper.KEY_CITY,DBHelper.KEY_GPSLONG,DBHelper.KEY_GPSLAT,DBHelper.KEY_IMAGEFILENAME + ""}; int[] to = new int[] {R.id.businessname,R.id.address,R.id.city,R.id.gpslong,R.id.gpslat,R.id.imagefilename }; notes …

30
การจัดการกับข้อผิดพลาด“ java.lang.OutOfMemoryError: พื้นที่ PermGen”
เมื่อเร็ว ๆ นี้ฉันพบข้อผิดพลาดในเว็บแอปพลิเคชันของฉัน: java.lang.OutOfMemoryError: พื้นที่ PermGen มันเป็นแอปพลิเคชั่น Hibernate / JPA + IceFaces / JSF ที่ทำงานบน Tomcat 6 และ JDK 1.6 เห็นได้ชัดว่าสิ่งนี้อาจเกิดขึ้นได้หลังจากปรับใช้แอปพลิเคชันอีกครั้งสองสามครั้ง อะไรเป็นสาเหตุและสิ่งที่สามารถทำได้เพื่อหลีกเลี่ยง ฉันจะแก้ไขปัญหาได้อย่างไร

20
เกิดข้อผิดพลาด java.lang.OutOfMemoryError: เกินขีด จำกัด ค่าโสหุ้ย GC
ฉันได้รับข้อความแสดงข้อผิดพลาดขณะที่ฉันทำการทดสอบ JUnit: java.lang.OutOfMemoryError: GC overhead limit exceeded ฉันรู้ว่าอะไรOutOfMemoryErrorคือ แต่ขีด จำกัด ค่าใช้จ่ายของ GC หมายถึงอะไร ฉันจะแก้ปัญหานี้ได้อย่างไร

30
สร้างจำนวนเต็มที่ไม่ใช่หนึ่งในสี่พันล้านที่ได้รับ
ฉันได้รับคำถามสัมภาษณ์นี้: ให้อินพุตไฟล์ที่มีจำนวนเต็มสี่พันล้านชุดให้อัลกอริทึมในการสร้างจำนวนเต็มซึ่งไม่ได้อยู่ในไฟล์ สมมติว่าคุณมีหน่วยความจำ 1 GB ติดตามสิ่งที่คุณจะทำถ้าคุณมีหน่วยความจำเพียง 10 MB การวิเคราะห์ของฉัน: ขนาดของไฟล์คือ 4 × 10 9 × 4 ไบต์ = 16 GB เราสามารถทำการจัดเรียงภายนอกได้ดังนั้นจึงแจ้งให้เราทราบช่วงของจำนวนเต็ม คำถามของฉันคือวิธีที่ดีที่สุดในการตรวจจับจำนวนเต็มหายไปในชุดจำนวนเต็มเรียงลำดับขนาดใหญ่? ความเข้าใจของฉัน (หลังจากอ่านคำตอบทั้งหมด): สมมติว่าเรากำลังพูดถึงจำนวนเต็ม 32 บิตมี 2 32 = 4 * 10 9จำนวนเต็มชัดเจน กรณีที่ 1: เรามี 1 GB = 1 * 10 9 * 8 บิต = หน่วยความจำ 8 …


19
วิธีจัดการกับข้อผิดพลาด“ java.lang.OutOfMemoryError: Java heap space” ข้อผิดพลาด?
ฉันกำลังเขียนฝั่งไคลเอ็นต์สวิงแอพลิเคชัน (นักออกแบบตัวอักษรกราฟิก) ในJava 5 เมื่อเร็ว ๆ นี้ฉันพบjava.lang.OutOfMemoryError: Java heap spaceข้อผิดพลาดเนื่องจากฉันไม่ได้ระมัดระวังในการใช้หน่วยความจำ ผู้ใช้สามารถเปิดได้ไม่ จำกัด จำนวนไฟล์และโปรแกรมเก็บวัตถุที่เปิดอยู่ในหน่วยความจำ หลังจากที่มีการวิจัยอย่างรวดเร็วผมพบว่าการยศาสตร์ใน 5.0 โปรแกรม Java Virtual Machineและคนอื่น ๆ บอกว่าบน Windows เครื่อง JVM 64MBค่าเริ่มต้นขนาดสูงสุดกองเป็น ด้วยสถานการณ์เช่นนี้ฉันจะจัดการกับข้อ จำกัด นี้ได้อย่างไร ฉันสามารถเพิ่มขนาดฮีพสูงสุดโดยใช้ตัวเลือกบรรทัดคำสั่งเป็นจาวา แต่นั่นต้องใช้การหา RAM ที่มีอยู่และเขียนโปรแกรมเรียกใช้หรือสคริปต์บางตัว นอกจากนี้ยังเพิ่มขึ้นบางส่วนจำกัดสูงสุดไม่ได้ในท้ายที่สุดได้รับการกำจัดของปัญหา ฉันสามารถเขียนรหัสของฉันใหม่เพื่อคงออบเจ็กต์ไปยังระบบไฟล์บ่อยครั้ง (การใช้ฐานข้อมูลเป็นสิ่งเดียวกัน) เพื่อเพิ่มหน่วยความจำ มันสามารถใช้งานได้ แต่ก็อาจทำงานได้มากเช่นกัน หากคุณสามารถชี้ให้ฉันเห็นรายละเอียดของแนวคิดข้างต้นหรือทางเลือกบางอย่างเช่นหน่วยความจำเสมือนอัตโนมัติขยายขนาดฮีปแบบไดนามิกนั่นจะยอดเยี่ยม

10
คุณจะเพิ่ม swap ใน EC2 ได้อย่างไร
ฉันกำลังใช้งานอินสแตนซ์ขนาดเล็ก ec2 และฉันพบว่าอินสแตนซ์นั้นมีหน่วยความจำไม่เพียงพอในบางครั้ง นอกเหนือจากการใช้อินสแตนซ์ที่ใหญ่กว่าจะมีอะไรอีกบ้างที่สามารถทำได้

22
Node.js จำนวนมากออกจากหน่วยความจำ
วันนี้ฉันรันสคริปต์ของฉันสำหรับการทำดัชนีระบบไฟล์เพื่อรีเฟรชดัชนีไฟล์ RAID และหลังจาก 4 ชม. มันล้มเหลวด้วยข้อผิดพลาดต่อไปนี้: [md5:] 241613/241627 97.5% [md5:] 241614/241627 97.5% [md5:] 241625/241627 98.1% Creating missing list... (79570 files missing) Creating new files list... (241627 new files) <--- Last few GCs ---> 11629672 ms: Mark-sweep 1174.6 (1426.5) -> 1172.4 (1418.3) MB, 659.9 / 0 ms [allocation failure] [GC in …

12
Spark java.lang.OutOfMemoryError: พื้นที่ Java heap
คลัสเตอร์ของฉัน: 1 ต้นแบบ 11 ทาสแต่ละโหนดมีหน่วยความจำ 6 GB การตั้งค่าของฉัน: spark.executor.memory=4g, Dspark.akka.frameSize=512 นี่คือปัญหา: ก่อนอื่นฉันอ่านข้อมูล (2.19 GB) จาก HDFS ถึง RDD: val imageBundleRDD = sc.newAPIHadoopFile(...) ประการที่สองทำอะไรกับ RDD นี้: val res = imageBundleRDD.map(data => { val desPoints = threeDReconstruction(data._2, bg) (data._1, desPoints) }) สุดท้ายส่งออกไปยัง HDFS: res.saveAsNewAPIHadoopFile(...) เมื่อฉันรันโปรแกรมมันจะแสดง: ..... 14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Starting task …

9
ไม่สามารถเรียกใช้ dex: GC เกินขีด จำกัด โอเวอร์เฮดใน Eclipse
เมื่อฉันดาวน์โหลดโครงการ Git OsmAndและไปรวบรวม Eclipse จะส่งคืนข้อผิดพลาดเหล่านี้: [Dex Loader] Unable to execute dex: GC overhead limit exceeded [OsmAnd] Conversion to Dalvik format failed: Unable to execute dex: GC overhead limit exceeded Google และ Stackoverflow บอกว่าผมต้องเปลี่ยนใน -Xms40m -Xmx384m แปลงให้เป็นรูปแบบ Dalvik ล้มเหลว: ไม่สามารถที่จะดำเนินการ Dex: Java พื้นที่กอง ฉันล้างโปรเจ็กต์และรีสตาร์ท Eclipse แต่ไม่ช่วยeclipse.ini ฉันพบลิงค์นี้: คำแนะนำสำหรับนักพัฒนา Android:“ การแปลงเป็นรูปแบบ Dalvik …

13
java.lang.OutOfMemoryError: ขนาดบิตแมปเกินงบประมาณ VM - Android
ฉันพัฒนาแอพพลิเคชั่นที่ใช้รูปภาพจำนวนมากบน Android แอปพลิเควิ่งครั้งเดียวเติมข้อมูลบนหน้าจอ ( Layouts, Listviews, Textviews, ImageViewsฯลฯ ) และผู้ใช้อ่านข้อมูล ไม่มีภาพเคลื่อนไหวไม่มีเอฟเฟกต์พิเศษหรืออะไรก็ตามที่สามารถเติมหน่วยความจำได้ บางครั้ง drawables สามารถเปลี่ยนได้ บางแหล่งข้อมูลเป็น Android และบางส่วนเป็นไฟล์ที่บันทึกในโฟลเดอร์ใน SDCARD จากนั้นผู้ใช้จะออก ( onDestroyวิธีการดำเนินการและแอพยังคงอยู่ในหน่วยความจำโดย VM) จากนั้นในบางครั้งผู้ใช้จะเข้าสู่อีกครั้ง ทุกครั้งที่ผู้ใช้ป้อนไปยังแอปที่ฉันสามารถดูหน่วยความจำที่เติบโตมากขึ้นเรื่อย ๆ java.lang.OutOfMemoryErrorจนกว่าผู้ใช้จะได้รับ ดังนั้นวิธีที่ดีที่สุด / ถูกต้องในการจัดการภาพจำนวนมากคืออะไร? ฉันควรใส่วิธีคงที่เพื่อไม่ให้โหลดตลอดเวลาหรือไม่ ฉันต้องทำความสะอาดเลย์เอาต์หรือรูปภาพที่ใช้ในเลย์เอาต์ด้วยวิธีพิเศษหรือไม่?

3
RAM สูงสุดที่แอปสามารถใช้คืออะไร?
ฉันค่อนข้างสงสัยเกี่ยวกับคำถามนี้เกี่ยวกับการจัดการหน่วยความจำของระบบปฏิบัติการ Androidดังนั้นฉันหวังว่าจะได้คำตอบอย่างละเอียดในหัวข้อนั้น สิ่งที่ฉันอยากรู้ อะไรคือจำนวนเงินสูงสุดของหน่วยความจำ (ในเมกะไบต์ / เป็น ร้อยละของจำนวน RAM) ที่การประยุกต์ใช้ Android (ที่ไม่ได้เป็น app ระบบ) สามารถใช้งานหรือไม่ มีความแตกต่างระหว่างเวอร์ชั่น Androidหรือไม่? มีความแตกต่างใด ๆ เกี่ยวกับผู้ผลิตอุปกรณ์หรือไม่ และที่สำคัญที่สุด: อะไรที่ถูกพิจารณา / ขึ้นอยู่กับว่ามันมาถึงระบบเมื่อไรที่แรมใช้งานแอพได้เท่าไร (สมมติว่าหน่วยความจำสูงสุดต่อแอพนั้นไม่ใช่จำนวนคงที่)? สิ่งที่ฉันเคยได้ยินจนถึง (2013 จนถึง): อุปกรณ์ Android ยุคแรก ๆ มีขนาดสูงสุด 16 เมกะไบต์ต่อแอป หลังจากนี้ขีด จำกัด นี้เพิ่มเป็น 24MB หรือ 32MB อะไรทำให้ฉันอยากรู้มาก: ขีด จำกัด ทั้งสองนี้ต่ำมาก ฉันเพิ่งดาวน์โหลดAndroid Task Managerเพื่อตรวจสอบ RAM อุปกรณ์ของฉัน …

2
.NET Framework จัดสรรหน่วยความจำสำหรับ OutOfMemoryException อย่างไร
ใน C ++ เป็นไปได้จริงที่จะโยนข้อยกเว้นตามค่าโดยไม่ต้องจัดสรรหน่วยความจำบนฮีปดังนั้นสถานการณ์นี้จึงสมเหตุสมผล แต่ใน. NET Framework OutOfMemoryExceptionเป็นประเภทอ้างอิงดังนั้นมันจึงถูกจัดสรรบนฮีป . NET Framework จัดสรรหน่วยความจำอย่างไรOutOfMemoryExceptionเมื่อมีหน่วยความจำไม่เพียงพอในการสร้างวัตถุใหม่
144 c#  .net  out-of-memory 

13
“ java.lang.OutOfMemoryError: ไม่สามารถสร้างเธรดเนทีฟใหม่ได้”
เรากำลังได้รับ"java.lang.OutOfMemoryError : unable to create new native Thread"บน 8GB RAM VM หลังจาก 32k เธรด (ps -eLF | grep -c java) อย่างไรก็ตาม"top" and "free -m" shows 50% free memory available. JDk เป็น 64 บิตและลองกับทั้ง HotSpot และ JRockit เซิร์ฟเวอร์มี Linux 2.6.18 นอกจากนี้เรายังได้ลองOS stack size (ulimit -s)ปรับแต่งและขีด จำกัด กระบวนการสูงสุด (ulimit -u) เพิ่มขึ้น limit.conf …

7
java.lang.OutOfMemoryError: Java heap space ใน Maven
เมื่อฉันเรียกใช้การทดสอบ maven java.lang.OutOfMemoryError จะเกิดขึ้น ฉัน Google เพื่อหาแนวทางแก้ไขและพยายามexport MAVEN_OPTS=-Xmx1024mแต่ก็ไม่ได้ผล ใครทราบวิธีแก้ปัญหาอื่น ๆ สำหรับปัญหานี้ BTW ฉันใช้ maven 3.0 ขอบคุณล่วงหน้า วางข้อความแสดงข้อผิดพลาดที่นี่เมื่อเรียกใช้ "mvn test -e" การทดสอบที่ล้มเหลว: คำเตือน (junit.framework.TestSuite $ 1) testDefaultPigJob_1 (com.snda.dw.pig.impl.DefaultPigJobLocalTest) testDefaultPigJob_2 (com.snda.dw.pig.impl.DefaultPigJobLocalTest) การทดสอบทำงาน: 11, ความล้มเหลว: 3, ข้อผิดพลาด: 0, ข้าม: 0 10/11/01 13:37:18 การประมวลผลข้อมูลเครื่องยนต์ HExecutionEngine: การเชื่อมต่อกับ hadoop fi le ระบบที่: file: /// [ข้อมูล] ----------------------------------------------- …

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