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

ในการคำนวณหน่วยความจำหมายถึงข้อมูลสถานะของระบบคอมพิวเตอร์เนื่องจากมันถูกเก็บไว้ในโครงสร้างทางกายภาพบางอย่าง

5
อ่านสแต็คของกระบวนการอื่นได้หรือไม่
ฉันพยายามอ่านสแต็กของกระบวนการลูก แต่ไม่มีโชค ฉันรู้ว่ามันเป็นไปได้ที่จะใช้ptraceแต่ptraceอินเทอร์เฟซของอนุญาตให้คุณอ่านเพียงหนึ่งคำในแต่ละครั้งและฉันพยายามสแกนส่วนที่ใหญ่กว่าของสแต็ก ฉันได้ลองอ่าน/proc/$pid/memจากขอบเขตของสแต็คที่แยกออกมาจาก/proc/$pid/mapsไฟล์หลังจากใช้ ptrace เพื่อเชื่อมต่อกับมันเป็นครั้งแรก (ตามที่แนะนำไว้ที่นี่ ) แต่การอ่านทำให้ล้มเหลว (แม้ในขณะทำงานในฐานะรูท) อ่านจากส่วนต่าง ๆ ของกระบวนการ (เช่นกอง) ผมทำอะไรผิดหรือเปล่า? มีตัวเลือกอื่น ๆ อีกไหม?
16 linux  kernel  memory  proc 

3
ฉันจะค้นหาขนาดหน่วยความจำภายในของกระบวนการใน busybox ได้อย่างไร
ฉันทำงานtopบน busybox และมันแสดงกระบวนการทั้งหมดและขนาดหน่วยความจำเสมือนของพวกเขา ฉันจะทราบได้อย่างไรว่าแต่ละกระบวนการใช้ RAM เท่าใด

4
หากฮีปมีการกำหนดค่าเริ่มต้นเป็นศูนย์เพื่อความปลอดภัยแล้วทำไมสแต็กจึงไม่มีการกำหนดค่าเริ่มต้นเพียงอย่างเดียว
บนระบบ Debian GNU / Linux 9 ของฉันเมื่อทำการไบนารี่ สแต็กถูกกำหนดค่าเริ่มต้น แต่ ฮีปจะถูกกำหนดค่าเริ่มต้นเป็นศูนย์ ทำไม? ฉันสมมติว่า zero-initialization ส่งเสริมความปลอดภัย แต่ถ้าฮีปแล้วทำไมไม่สแต็กล่ะ? สแต็กก็เช่นกันไม่ต้องการความปลอดภัยหรือไม่? คำถามของฉันไม่เฉพาะเจาะจงกับ Debian เท่าที่ฉันรู้ ตัวอย่างรหัส C: #include <stddef.h> #include <stdlib.h> #include <stdio.h> const size_t n = 8; // -------------------------------------------------------------------- // UNINTERESTING CODE // -------------------------------------------------------------------- static void print_array( const int *const p, const size_t size, const …
15 linux  security  memory 

9
ปัญหาหน่วยความจำเมื่อบีบอัดและถ่ายโอนไฟล์ขนาดเล็กจำนวนมาก (รวม 1TB)
ฉันมี 5 ล้านไฟล์ซึ่งใช้พื้นที่จัดเก็บประมาณ 1TB ฉันต้องการถ่ายโอนไฟล์เหล่านี้ไปยังบุคคลที่สาม วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? ฉันได้ลองลดขนาดโดยใช้. tar.gz แต่ถึงแม้ว่าคอมพิวเตอร์ของฉันมี 8GB RAM ฉันได้รับข้อผิดพลาด "ออกจากระบบหน่วยความจำ" วิธีที่ดีที่สุดในการหอยทากไฟล์ทางไปรษณีย์คืออะไร?


1
ปิดการแลกเปลี่ยนสำหรับกระบวนการเดียวกับกลุ่ม cg หรือไม่
ฉันต้องการปิดการแลกเปลี่ยนสำหรับกระบวนการเดียวเท่านั้น Swap ควรทำงานได้ตามปกติสำหรับกระบวนการอื่น ฉันจะใช้สิ่งนี้กับกลุ่ม cg ได้อย่างไร

3
หน่วยความจำระบบที่มนุษย์อ่านได้อ่านจาก CLI หรือไม่
ใน OS X ฉันได้รับหน่วยความจำของระบบที่อ่านง่ายเหมือนมนุษย์ : printf -v system_memory \ "$(system_profiler SPHardwareDataType \ | awk -F ': ' '/^ +Memory: /{print $2}')" echo "$system_memory" พิมพ์มิตร: 4 GB แม้ว่าสิ่งนี้บน Linux ถูกต้อง: lshw -class memory มันเอาท์พุท: size: 4096MiB ฉันต้องแยกวิเคราะห์มันอย่างเจ็บปวดและพยายามทำให้มันเป็นสตริงที่ดีเท่าที่กล่าวไว้ข้างต้น ฉันใช้คำสั่งผิดหรือเปล่า?

2
การใช้งานหน่วยความจำจริง
ถ้าฉันเข้าใจถูกต้องในผลลัพธ์ต่อไปนี้ที่ผลิตโดยฟรี 3535m เป็นหน่วยความจำว่างจริงที่แอพพลิเคชั่นใช้เพียง 413m ใช้ถูกต้องหรือไม่ ต้องการคำชี้แจงเกี่ยวกับความแตกต่างระหว่าง Mem และ - / + บัฟเฟอร์ / แถวแคช ฟรี แคชบัฟเฟอร์ที่ใช้ร่วมกันทั้งหมดที่ใช้รวมอยู่ Mem: 3949 3854 95 0 9 3431 - / + บัฟเฟอร์ / แคช: 413 3535 Swap: 2047 1322 725
15 linux  memory 

2
% MEM และ VSZ ของ top หมายถึงอะไร
ฉันกำลังทำงานกับระบบลินุกซ์ในตัว (RAM ขนาด 128MB) โดยไม่มีพาร์ติชั่นสว็อปใด ๆ ด้านล่างคือผลลัพธ์สูงสุด: Mem: 37824K used, 88564K free, 0K shrd, 0K buff, 23468K cached CPU: 0% usr 0% sys 0% nic 60% idle 0% io 38% irq 0% sirq Load average: 0.00 0.09 0.26 1/50 1081 PID PPID USER STAT VSZ %MEM CPU %CPU COMMAND 1010 …

5
ชิป MMU (หน่วยจัดการหน่วยความจำ) จำเป็นสำหรับหน่วยประมวลผลเพื่อรองรับหน่วยความจำเสมือนหรือไม่?
ชิป MMU (หน่วยจัดการหน่วยความจำ) จำเป็นสำหรับหน่วยประมวลผลเพื่อรองรับหน่วยความจำเสมือนหรือไม่? เป็นไปได้หรือไม่ที่จะจำลองฟังก์ชันการทำงานของ MMU ในซอฟต์แวร์ (ฉันทราบว่าอาจมีผลกระทบอย่างมากต่อประสิทธิภาพ)

2
เหตุใด Linux จึงล้างแคชหน่วยความจำเมื่อเกือบเต็มแล้ว
นี่คือรูปกราฟหน่วยความจำบน VPS ที่รัน CentOS พร้อม RAM ขนาด 512MB และ nginx / php-fpm / mysqld ที่แสดงเนื้อหา (ส่วนใหญ่เป็นแบบคงที่) ต่อผู้เข้าชมสองพันคนต่อวัน (นั่นคือวันบนแกน x) อย่างที่คุณเห็นมันค่อนข้างน่ากลัวในพื้นที่แคชและบัฟเฟอร์ แคชหน่วยความจำถูกกำจัดในช่วงเวลาที่ไม่สม่ำเสมอ (พิจารณางาน cron ที่รับผิดชอบ) มันมักจะถูกกวาดล้างไปยังจุดที่ไม่สามารถเติบโตได้ บางครั้งก็ล้างเกือบทั้งหมดในบางครั้งบางครั้งลงครึ่งหนึ่งเท่านั้น ฉันพยายามที่จะเข้าใจตรรกะที่อยู่เบื้องหลังการล้างเหล่านี้ ฉันคาดว่าข้อมูลไฟล์จะถูกแคชนานกว่า & ไม่เห็นโปรแกรมอื่น ๆ ที่ใช้หน่วยความจำมากกว่าปกติเมื่อล้างแคชหน่วยความจำ นี่เป็นพฤติกรรมปกติหรือฉันขาดอะไรไป? UPDATE: การอัพเกรดหน่วยความจำดูเหมือนว่าจะทำให้กราฟเสถียร ยังคงเห็นหยดเล็ก ๆ แต่ไม่มีอะไรสำคัญเท่าก่อนการอัพเกรด
14 linux  memory  cache 

3
การเพิ่มขนาดหน่วยความจำเคอร์เนล
ฉันมีบอร์ดฝังตัวที่มี RAM 512MB ใช้ Linux 2.6.29 และ UBoot bootloader แต่เคอร์เนลสามารถใช้ RAM ได้เพียง 128MB เท่านั้น ฉันลองเปลี่ยนค่าของXCODE_MEMSIZEซึ่งฉันคิดว่ากำหนดจำนวน RAM ที่เคอร์เนลใช้ เมื่อฉันตั้งค่าเป็น 512 เคอร์เนลจะหยุดทำงานในขณะที่บูตเครื่อง มีพารามิเตอร์การกำหนดค่าอื่น ๆ ที่จำเป็นต้องเปลี่ยนแปลงหรือไม่?

2
การใช้หน่วยความจำ httpd
มีปัญหากับhttpd( Apache/2.2.29) การใช้หน่วยความจำ เมื่อเวลาผ่านไปการใช้หน่วยความจำในhttpdกระบวนการจะเพิ่มขึ้นจนกว่าจะถึง 100% ครั้งสุดท้ายที่ฉันเริ่มต้นใหม่httpdประมาณ 24 ชั่วโมงที่ผ่านมา ผลลัพธ์จากfree -mคือ: [ec2-user@www ~]$ free -m total used free shared buffers cached Mem: 1655 1415 239 0 202 424 -/+ buffers/cache: 788 866 Swap: 1023 4 1019 เพื่อพิสูจน์ว่ามันแน่นอนhttpdฉันเริ่มต้นใหม่httpdและวิ่งfree -mอีกครั้ง: [ec2-user@www ~]$ sudo service httpd restart Stopping httpd: [ OK ] Starting httpd: …

3
ค่าที่เหมาะสมของ vm.swappiness คืออะไรเมื่อใช้ zram?
ฉันใช้ zram บนคอมพิวเตอร์เป็น swap swap RAM ที่ได้รับการบีบอัด เมื่อระบบต้องการสลับบางสิ่งบางอย่างการสลับไปยังไฟล์ swap ที่ได้รับการสนับสนุน zram นั้นมากหรือน้อยเทียบเท่ากับการบีบอัดข้อมูลในหน่วยความจำนั้นเพื่อเพิ่มพื้นที่ว่าง สิ่งนี้ทำให้การสลับเปลี่ยนเป็นไปอย่างรวดเร็วโดยส่วนใหญ่สัมพันธ์กับการแลกเปลี่ยนดิสก์ที่สำรองข้อมูล ด้วยเหตุนี้ฉันจึงสงสัยว่าจะมีการแสดงบางอย่างที่จะได้รับจากการกระตุ้นให้ระบบแลกเปลี่ยนสิ่งที่ไม่ได้ใช้อย่างจริงจังมากขึ้นหรือไม่เพราะสามารถทำได้โดยไม่ต้องกดดิสก์จริง ๆ มีใครสับสนรอบตัวด้วยพูดตั้งvm.swappinessเป็น 100 ในขณะที่ใช้ zram? สิ่งนี้จะเป็นที่ต้องการหรือไม่? sysctl -w vm.swappiness=100

1
หน้าต่างลดการใช้หน่วยความจำฟรีให้น้อยที่สุดหรือไม่
ทั้งหน้าต่างขยายใหญ่สุดที่ไม่แสดงและหน้าต่างย่อเล็กสุดจะไม่ปรากฏให้ผู้ใช้เห็น โดยไม่แสดงผลฉันหมายถึงหน้าต่างที่ขยายใหญ่สุดที่ไม่ได้ใช้งานซึ่งอยู่ในหน้าต่างที่ใช้งานอยู่ มีความแตกต่างกัน --- ซึ่งเห็นได้ชัดในบริการเปลี่ยนแอปพลิเคชันเช่นเดียวกับ Compiz: ลักษณะที่ปรากฏของหน้าต่างที่ขยายใหญ่สุดคือ "รู้จัก" สำหรับ Window Manager (ดังนั้นจึงสามารถสร้างภาพขนาดย่อ) ในขณะที่หน้าต่างย่อเล็กสุดแสดงด้วยไอคอน เท่านั้น (ไม่ได้คำนวณลักษณะที่ปรากฏ / เนื้อหาของหน้าต่าง) ดังนั้นนี่หมายความว่าหน่วยความจำจะถูกปลดปล่อยเมื่อหน้าต่างย่อเล็กสุด? หน่วยความจำ จำกัด ตามจำนวนหน้าต่างที่ WM สามารถขยายให้ใหญ่สุดได้หรือไม่? หากมีข้อ จำกัด ดังกล่าวมีความเกี่ยวข้องหรือไม่? ลองนึกภาพ WM ที่ไม่อนุญาตให้ย่อเล็กสุด (แต่เพียงสลับไปมาระหว่างหน้าต่างที่ขยายใหญ่สุด): WM นี้จะกำหนดข้อ จำกัด จำนวนมากให้กับผู้ใช้เนื่องจากการใช้หน่วยความจำหรือไม่? ขอบคุณสำหรับการล้างข้อมูล --- ฉันอาจมีความคิดที่ผิด

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