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

คำพ้องความหมาย: RAM - ตัวย่อสำหรับ: Random Access Memory ประเภทของการจัดเก็บข้อมูลคอมพิวเตอร์

3
การจัดสรรหน้าล้มเหลว - ฉันมีหน่วยความจำไม่เพียงพอหรือไม่
เมื่อเร็ว ๆ นี้ฉันสังเกตเห็นรายการเช่นนี้ในkern.logเซิร์ฟเวอร์ของฉัน: Feb 16 00:24:05 aramis kernel: swapper: page allocation failure. order:0, mode:0x20 ฉันอยากรู้: ข้อความนั้นหมายความว่าอะไร? เซิร์ฟเวอร์ของฉันมีหน่วยความจำไม่เพียงพอหรือไม่ การใช้ swap ค่อนข้างต่ำ (น้อยกว่า 10%) และจนถึงตอนนี้ฉันไม่ได้สังเกตเห็นว่ากระบวนการใดถูกฆ่าเนื่องจากขาดหน่วยความจำ ข้อมูลเพิ่มเติม: เซิร์ฟเวอร์เป็นอินสแตนซ์ Xen (DomU) ที่เรียกใช้ Debian 6.0 มี RAM 512 MB และพาร์ติชัน swap 512 MB โหลด CPU ภายในเครื่องเสมือนแสดงค่าเฉลี่ย 0.25


2
Linux ไม่ได้เพิ่มดิสก์แคชขนาดใหญ่เมื่อความต้องการหน่วยความจำเพิ่มขึ้น
ใช้งาน Ubuntu บนเคอร์เนล 2.6.31-302 x86-64 ปัญหาโดยรวมคือฉันมีหน่วยความจำในหมวดหมู่ 'แคช' ที่เพิ่มขึ้นเรื่อย ๆ และจะไม่ถูกปลดปล่อยหรือใช้งานแม้ว่าแอปพลิเคชันของเราต้องการ ดังนั้นนี่คือสิ่งที่ฉันได้รับจากคำสั่ง 'ฟรี' สิ่งเหล่านี้ไม่ได้ดูออกมาจากภาพธรรมดาในครั้งแรก # free total used free shared buffers cached Mem: 7358492 5750320 1608172 0 7848 1443820 -/+ buffers/cache: 4298652 3059840 Swap: 0 0 0 สิ่งแรกที่ใครบางคนจะพูดคือ "ไม่ต้องกังวล linux จัดการหน่วยความจำนั้นโดยอัตโนมัติ" ใช่ฉันรู้ว่าตัวจัดการหน่วยความจำควรทำงานอย่างไร ปัญหาคือว่ามันไม่ได้ทำในสิ่งที่ถูกต้อง "แคช" 1.4 GB ที่นี่ดูเหมือนว่าจะสงวนไว้และไม่สามารถใช้งานได้ ความรู้เกี่ยวกับ Linux ของฉันบอกฉันว่า 3 …

4
MySQL สามารถใช้ประโยชน์จาก RAM ขนาด 64 GB ได้อย่างมีประสิทธิภาพหรือไม่
เราพบปัญหาในการสืบค้นตารางที่มีประมาณ 50 ล้านแถวและมีขนาดดัชนี 4 GB (ขนาดตารางประมาณ 6 GB) ส่งผลให้เซิร์ฟเวอร์ฐานข้อมูลเปลี่ยนหน่วยความจำและชะลอความเร็วลงอย่างมาก ฉันค่อนข้างแน่ใจว่าสิ่งนี้เกี่ยวข้องกับขนาดของเทมเพลตที่เกินขนาดและมันถูกสลับเป็นดิสก์ ถ้าฉันอัพเกรดเซิร์ฟเวอร์ฐานข้อมูลของฉันจาก 32 GB of RAM เป็น 64 GB RAM ฉันสงสัยว่าฐานข้อมูล MySQL จะสามารถใช้ประโยชน์จากหน่วยความจำเพิ่มเติมนี้ได้อย่างเต็มที่และไม่สลับหรือไม่ ฉันได้ลองใช้ตัวแปรสองสามอย่าง (เช่น KEY_BUFFER_SIZE ฯลฯ ... ) และดูเหมือนว่าพวกเขาสนับสนุนการตั้งค่ามากกว่า 64 GB อย่างไรก็ตามเอกสาร MySQL กล่าวว่า tmp_table_size สูงสุดที่ 4 GB ดังนั้นการอัพเกรดหน่วยความจำจะคุ้มหรือไม่ ปัญหา "การสืบค้นตารางขนาดใหญ่" จะได้รับประโยชน์จากสิ่งนี้หรือไม่และจะไม่ช่วยเนื่องจากขีด จำกัด 4 GB หรือไม่ ฉันรู้ว่าอาจมีโซลูชันอื่น ๆ เช่นการปรับโครงสร้างตารางเพื่อแบ่งพาร์ติชันด้วยวิธีที่แตกต่างกัน ฯลฯ …


2
ข้อผิดพลาด Rowhammer DRAM คืออะไรและฉันควรปฏิบัติต่อมันอย่างไร
ชิป DRAM นั้นแน่นมาก การวิจัยแสดงให้เห็นว่าบิตที่อยู่ใกล้เคียงสามารถพลิกโดยการสุ่ม ความน่าจะเป็นของข้อผิดพลาดที่เกิดขึ้นแบบสุ่มในชิป DRAM ระดับเซิร์ฟเวอร์ด้วย ECC คืออะไร ( กระดาษ CMU-Intelอ้างอิงเช่นหมายเลข 9.4x10 ^ -14 สำหรับชิปที่ไม่รู้จักหนึ่งครั้งในหนึ่งปีที่ล้มเหลว)? ฉันจะทราบได้อย่างไรว่าข้อบกพร่องได้รับการแก้ไขก่อนซื้อหน่วยความจำ ฉันควรทำอย่างไรเพื่อต่อต้านความพยายามที่เป็นอันตรายในการเพิ่มสิทธิ์โดยผู้เช่าหรือผู้ใช้ที่ไม่มีสิทธิเช่น CentOS 7 อ้างอิง: บั๊ก Hammer DRAM ใช้ประโยชน์จากการปลดล็อคการเข้าถึงหน่วยความจำกายภาพ พลิกบิตในหน่วยความจำโดยไม่ต้องเข้าถึงพวกเขา: การศึกษาทดลองข้อผิดพลาดรบกวน DRAM PoC repo ของ Google การเขียนโครงการเป็นศูนย์
20 security  memory  ecc  bug 

3
Cent OS: ฉันจะปิดหรือลดหน่วยความจำเกินความจำได้อย่างไรและปลอดภัยหรือไม่?
ในบางครั้งเซิร์ฟเวอร์ "ของฉัน" จะหยุดทำงานเนื่องจากหน่วยความจำและพื้นที่สว็อปหมด (มันยังคงตอบสนองต่อ ping แต่ไม่มีอะไรมากไปกว่านั้นไม่ใช่แม้แต่ ssh) ฉันบอกว่า linux ทำ overcommitment หน่วยความจำซึ่งเท่าที่ฉันเข้าใจเหมือนกับธนาคารใช้เงิน: มันให้การประมวลผลหน่วยความจำมากกว่าที่มีจริงโดยสมมติว่ากระบวนการส่วนใหญ่จะไม่ใช้หน่วยความจำทั้งหมดที่พวกเขาถาม อย่างน้อยก็ไม่ได้ทั้งหมดในเวลาเดียวกัน โปรดสมมติว่านี่เป็นสาเหตุที่ทำให้ระบบของฉันหยุดทำงานเป็นบางครั้งเราจะไม่พูดถึงที่นี่ว่าเป็นกรณีนี้หรือไม่ (ดูสิ่งที่ทำให้บริการทั้งหมดบนเซิร์ฟเวอร์ล่ม แต่ยังตอบสนองต่อการปิง ) . ดังนั้น, ฉันจะปิดการใช้งานหรือลดหน่วยความจำ overcommitment อย่างมากใน CentOS ได้อย่างไร ฉันได้อ่านมีการตั้งค่าสองอย่างที่เรียกว่า vm.overcommit_memory (ค่า 0, 1, หรือ 2) และ vm.overcommit_ratiom แต่ฉันไม่มีความคิดว่าฉันต้องค้นหาและเปลี่ยน (ไฟล์การกำหนดค่าบางอย่างหวังว่า) และฉันต้องรีบูตเซิร์ฟเวอร์เพื่อให้การเปลี่ยนแปลงมีผล และปลอดภัยหรือไม่ ฉันคาดหวังผลข้างเคียงอะไรบ้าง เมื่อ googling สำหรับ overcommit_memory ฉันพบสิ่งที่น่ากลัวอย่างที่คนบอกว่าเซิร์ฟเวอร์ไม่สามารถบู๊ตได้อีกต่อไป .... เนื่องจากสิ่งที่ทำให้การใช้หน่วยความจำเพิ่มขึ้นอย่างฉับพลันคือ mysql เนื่องจากการสอบถามที่ทำโดย php ซึ่งจะถูกเรียกในขณะที่ให้บริการการร้องขอ …
20 linux  centos  memory  centos5 

2
สุดยอดการตั้งค่าแคชของ MySQL สำหรับเซิร์ฟเวอร์ MySQL เฉพาะ 8gb RAM โดยใช้เพียง InnoDB (ฐานข้อมูล 5gb)
ฉันเป็น noob ที่ค่อนข้างใหญ่เมื่อพูดถึงการตั้งค่า MySQL เพื่อประสิทธิภาพ และจริงๆแล้วฉันไม่ได้กังวลเกี่ยวกับการปรับจูนเพื่อบีบประสิทธิภาพออกมาเล็กน้อยจาก MySQL แต่ฉันรู้ว่าสิ่งที่สำคัญที่สุดที่ต้องทำคือให้ผลลัพธ์ที่ดีที่สุดคือการตั้งค่าแคช / บัฟเฟอร์อย่างถูกต้อง ฉันพยายามทำให้สิ่งต่าง ๆ เรียบง่ายโดยใช้เพียง InnoDB เป็นเครื่องมือเก็บข้อมูล และฉันมีเซิร์ฟเวอร์เฉพาะสำหรับ MySQL มันมีแรม 8gb ฉันจะจัดสรรมันให้มีประสิทธิภาพได้อย่างไร ฉันต้องการให้พอดีกับฐานข้อมูลทั้งหมดของฉันลงในหน่วยความจำเพื่อประสิทธิภาพที่ดีที่สุด ฐานข้อมูลประมาณ 5gb เป็นไปได้ไหม ฉันควรจัดสรรหน่วยความจำให้กับคิวรีแคชเท่าใด พูลบัฟเฟอร์ InnoDB มีราคาเท่าใด ส่วนที่เหลือของคอมพิวเตอร์ (เช่นกระบวนการที่ไม่เกี่ยวข้องกับ MySQL) มีมากแค่ไหน? เป็นต้น เนื่องจากฉันไม่ได้ใช้ MyISAM ฉันไม่จำเป็นต้องใส่หน่วยความจำจำนวนมากในคีย์แคชให้ถูกต้องหรือไม่

6
การใช้งานหน่วยความจำแปลก ๆ ใน Windows Server 2008 R2
ฉันหวังว่าบางคนสามารถช่วยได้ เรามีเครื่องWindows Server 2008 R2พร้อม RAM ขนาด 16GB ที่ทำให้หน่วยความจำที่มีอยู่ทั้งหมดนั้นกินได้หมด ไม่มีอะไรในตัวจัดการงานหรือการตรวจสอบทรัพยากรเผยให้เห็นกระบวนการใด ๆ ที่ใช้หน่วยความจำสูงกว่า 300MB ... แต่การใช้หน่วยความจำบนเซิร์ฟเวอร์คือ 15.7GB สิ่งเดียวที่ทำงานคือSQL Server 2008และIIS7.5 (พร้อม ASP.Net) หมายเหตุ: การใช้ RAM หลังจากการรีบูตเริ่มต้นต่ำและใช้จนหมด หลังจากผ่านไปประมาณหนึ่งสัปดาห์เราก็จะพบตัวเองในสถานการณ์เช่นนี้ ฉันจะค้นพบสิ่งที่กินความทรงจำทั้งหมดของเราได้อย่างไร :(


6
หน่วยความจำในกระบวนการจาวาคืออะไร?
เราพยายามตรวจสอบการใช้หน่วยความจำของกระบวนการ Java ภายใต้การโหลดปานกลาง PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 12663 test 20 0 8378m 6.0g 4492 S 43 8.4 162:29.95 java อย่างที่คุณเห็นเรามีหน่วยความจำภายในขนาด 6Gb ตอนนี้ส่วนที่น่าสนใจคือ: กระบวนการถูกดำเนินการกับ params เหล่านี้: -Xmx2048m -Xms2048m -XX: NewSize = 512m -XX: MaxDirectMemorySize = 256m ... บางรายการสำหรับ GC และรายการอื่น ๆ เมื่อดูการตั้งค่าเหล่านี้และการใช้งานหน่วยความจำจริงเราจะสะดุดเพื่อดูความแตกต่างของสิ่งที่เราคาดว่ากระบวนการนี้จะใช้และสิ่งที่ใช้จริง โดยปกติแล้วปัญหาหน่วยความจำของเราจะได้รับการแก้ไขโดยการวิเคราะห์การถ่ายโอนข้อมูลกอง …
20 linux  java  memory 

4
อะไรคือวิธีที่ดีที่สุดในการวัดประสิทธิภาพ RAM (no-ECC) ภายใต้ linux / arm?
ฉันต้องการทดสอบความสมบูรณ์และสมรรถนะระดับโลกของชิปหน่วยความจำ no-ECC บนกระดานที่กำหนดเอง มีเครื่องมือบางอย่างที่ทำงานภายใต้ linux หรือไม่เพื่อให้ฉันสามารถตรวจสอบระบบและอุณหภูมิโลกในเวลาเดียวกันได้หรือไม่? มีการทดสอบเฉพาะแบบไม่มี ECC ให้ทำโดยทั่วไปหรือไม่? แก้ไข 1: ฉันรู้วิธีตรวจสอบอุณหภูมิแล้ว (ฉันใช้คุณสมบัติแพลตฟอร์มพิเศษ /sys/devices/platform/......../temp1_input) สำหรับตอนนี้ : wazoox: ใช้งานได้ แต่ฉันต้องเขียนรหัสการทดสอบของตัวเอง Jason Huntley: ramspeed: ไม่ทำงานบนแขน มาตรฐานการสตรีม: ใช้งานได้และเร็วมากดังนั้นฉันจะดูว่ามันแม่นยำและสมบูรณ์หรือไม่ memtest: ฉันจะลองใหม่ในภายหลังเพราะมันไม่ทำงานโดยตรงจาก linux ความเครียดสำหรับ fedora: ฉันจะลองใหม่ในภายหลังเช่นกันมันเป็นปัญหาสำหรับฉันที่จะติดตั้ง fedora ตอนนี้ ฉันพบการแจกจ่ายนี้: http://www.stresslinux.org/sl/ ฉันจะตรวจสอบเครื่องมือที่ทำงานภายใต้ linux โดยตรงโดยไม่ต้องพึ่งพาใครมากเกินไปหลังจากนั้นฉันอาจลองใช้วิธีแก้ปัญหาเช่น stresslinux, memtest, ความเครียดสำหรับ fedora ขอบคุณสำหรับคำตอบของคุณฉันจะตรวจสอบต่อไป
19 linux  memory  benchmark  arm 

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

4
RAM โหมดมิเรอร์: มันคุ้มหรือไม่
ไม่คุ้นเคยกับ "Mirrored Channel Mode" ของ Intel สำหรับการตั้งค่าเซิร์ฟเวอร์เบลด (ฐานข้อมูล MySQL OLTP ที่หนักหน่วงปานกลางโดยทั่วไปของคุณทำงานอยู่บนเบลดโลหะเปลือยโดยไม่มีการจำลองเสมือนในขณะนี้) จากเอกสารของ Intel ฉันสามารถค้นหา: Intel Xeon Processor 5500 series และ Intel Xeon Processor 5600 series รองรับการจำลองช่องทางเพื่อกำหนดค่าช่องสัญญาณที่มีอยู่ของ DDR3 DIMM ในการกำหนดค่าแบบมิเรอร์ การกำหนดค่าที่มิเรอร์เป็นภาพที่ซ้ำซ้อนของหน่วยความจำและสามารถทำงานต่อไปได้แม้จะมีข้อผิดพลาดที่ไม่สามารถแก้ไขได้เป็นระยะ การจำลองช่องสัญญาณเป็นคุณสมบัติ RAS ซึ่งมีการเก็บรักษาข้อมูลหน่วยความจำภาพเหมือนกันสองภาพจึงให้ความซ้ำซ้อนสูงสุด ในโปรเซสเซอร์ Intel Xeon 5500 series และโปรเซสเซอร์ Intel Xeon Processor 5600 series ที่ใช้เซิร์ฟเวอร์บอร์ด Intel การทำมิเรอร์นั้นทำได้ในหลายช่องทาง ช่องที่ใช้งานอยู่จะเก็บภาพหลักและอีกช่องหนึ่งจะเก็บภาพที่สองของหน่วยความจำระบบ คอนโทรลเลอร์หน่วยความจำในตัวในโปรเซสเซอร์ Intel …
18 memory 

4
ฉันจะหาสาเหตุของการรั่วไหลของหน่วยความจำที่ชัดเจนใน Apache / PHP บนเว็บแอพได้อย่างไร
ประมาณสัปดาห์ละครั้ง แต่บางครั้งแม้แต่สองครั้งต่อวันหลังจากทำงานได้ดีสำหรับวันอินสแตนซ์ EC2 ของฉันไม่ตอบสนอง กราฟหน่วยความจำของ Munin บอกเล่าเรื่องราวที่ค่อนข้างตรงไปตรงมา: หน่วยความจำที่จัดสรรให้กับ "แอพ" เริ่มเพิ่มขึ้นและจะไม่หยุดจนกว่าจะมีการใช้งาน swap อย่างเต็มประสิทธิภาพ กราฟที่กำหนดเองอื่น ๆ แสดงว่ากระบวนการที่กำลังเติบโตอย่างต่อเนื่องคือ apache2 ฉันเรียกใช้การตั้งค่า Apache prefork มาตรฐานพร้อม mod_php และสคริปต์ PHP สองสามตัว ดังที่คุณเห็นในกราฟด้านล่างมีบางอย่างเกิดขึ้นที่เรียกใช้กระบวนการ apache2 เพื่อเริ่มใช้หน่วยความจำมากขึ้นเรื่อย ๆ เข็มสีเขียวอันแรกที่ฉันจับได้ทันเวลาและรีสตาร์ท Apache ก่อนที่สิ่งต่าง ๆ จะหมดไป เข็มที่สองได้รับอีกนิดและอินสแตนซ์จะต้องรีบูตทันที กราฟหน่วยความจำ Munin สิ่งที่ฉันสงสัยคือจะแก้ไขข้อบกพร่องนี้ได้อย่างไร ขาดการตั้งค่า PHP ด้วย FastCGI และทำให้มันทำงานในกระบวนการของตัวเองเป็นวิธีที่ดีในการค้นหาว่าเป็น Apache หรือการรวมกันของ PHP และรหัสของฉันที่ทำให้เกิดการใช้หน่วยความจำมากเกินไป? พวกคุณทำอะไรเพื่อติดตามปัญหานี้? UPDATE: ฉันสามารถติดตามการรั่วไหลหลังจากที่ strace …
18 php  apache-2.2  memory 

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