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

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

2
“ การขยายสแต็กอัตโนมัติ” คืออะไร?
getrlimit (2)มีคำจำกัดความต่อไปนี้ใน man pages: RLIMIT_AS ขนาดสูงสุดของหน่วยความจำเสมือนของกระบวนการ (พื้นที่ที่อยู่) ในหน่วยไบต์ ขีด จำกัด นี้มีผลต่อการเรียก brk (2), mmap (2) และ mremap (2) ซึ่งล้มเหลวด้วยข้อผิดพลาด ENOMEM เมื่อเกินขีด จำกัด นี้ นอกจากนี้ยังมีการขยายตัวของสแต็คอัตโนมัติจะล้มเหลว (และสร้าง SIGSEGV ที่ฆ่ากระบวนการถ้าไม่มีสแต็คอื่นได้รับการให้บริการผ่านทาง sigaltstack (2)) เนื่องจากค่ามีความยาวบนเครื่องที่มีความยาว 32 บิตขีด จำกัด นี้จะมากที่สุดที่ 2 GiB หรือทรัพยากรนี้ไม่ จำกัด "การขยายสแต็กอัตโนมัติ" มีความหมายอย่างไรที่นี่ สแต็กในสภาพแวดล้อม Linux / UNIX จะเติบโตตามต้องการหรือไม่? ถ้าใช่กลไกที่แน่นอนคืออะไร
13 linux  process  memory  limit 

2
30% ของ RAM คือ“ บัฟเฟอร์” มันคืออะไร?
$ free -h total used free shared buff/cache available Mem: 501M 146M 19M 9.7M 335M 331M Swap: 1.0G 85M 938M $ free -w -h total used free shared buffers cache available Mem: 501M 146M 19M 9.7M 155M 180M 331M Swap: 1.0G 85M 938M ฉันจะอธิบายหรืออธิบาย "บัฟเฟอร์" ในผลลัพธ์ของได้freeอย่างไร ฉันไม่มีปัญหา (รู้) กับระบบนี้ ฉันประหลาดใจและอยากรู้อยากเห็นว่า …
13 linux  memory  cache 

2
ฉันจะดูประวัติการใช้งานหน่วยความจำได้อย่างไร
ผมคุ้นเคยกับคำสั่งต่างๆเช่นtop, htop, freeเป็นต้นอย่างไรก็ตามจะมีคำสั่งที่จะเห็นยอดเขา / ใช้หน่วยความจำระเบิดของเซิร์ฟเวอร์ทั้งหมด (ไม่ใช่กระบวนการของแต่ละบุคคล) มากกว่าการพูดสุดท้าย 30 วัน / 24 ชั่วโมง / etc.
13 memory  ram  statistics 

3
ที่อยู่ทางกายภาพ 0 ใน x86 Linux มีอะไรบ้าง
ฉันไม่แน่ใจว่าคำถามนี้ควรไปที่นี่หรือในreverseengineering.stackexchange.com ข้อความจากวิกิพีเดีย : ในโปรเซสเซอร์ 8086 ตารางขัดจังหวะเรียกว่า IVT (ตารางขัดจังหวะเวกเตอร์) IVT จะอยู่ที่ตำแหน่งเดียวกันในหน่วยความจำเสมอตั้งแต่ 0x0000 ถึง 0x03ff และประกอบด้วย 256 พอยน์เตอร์จริงโหมดสี่ไบต์ไบต์ (256 × 4 = 1024 ไบต์ของหน่วยความจำ) นี่คือสิ่งที่ฉันพบในการตรวจสอบ qemu: (qemu) xp/128xw 0 0000000000000000: 0xf000ff53 0xf000ff53 0xf000e2c3 0xf000ff53 0000000000000010: 0xf000ff53 0xf000ff53 0xf000ff53 0xf000ff53 0000000000000020: 0xf000fea5 0xf000e987 0xf000d62c 0xf000d62c 0000000000000030: 0xf000d62c 0xf000d62c 0xf000ef57 0xf000d62c 0000000000000040: 0xc0005526 0xf000f84d …
12 memory  x86 

3
เมื่อกระบวนการใดคัดลอกหน่วยความจำเสมือนหรือหน่วยความจำในเครื่อง
วิธีมาตรฐานในการสร้างกระบวนการใหม่ใน Linux คือ footprint หน่วยความจำของกระบวนการหลักถูกคัดลอกและกลายเป็นสภาพแวดล้อมของกระบวนการลูกจนกว่าexecvจะมีการเรียกใช้ สิ่งที่เรากำลังพูดถึงรอยเท้าหน่วยความจำเสมือน (สิ่งที่กระบวนการร้องขอ) หรือคนที่อาศัยอยู่ (สิ่งที่ใช้จริง)? แรงจูงใจ: ฉันมีอุปกรณ์ที่มีพื้นที่สว็อป จำกัด และแอปพลิเคชันที่มีความแตกต่างอย่างมากระหว่างพื้นที่หน่วยความจำเสมือนและที่อยู่อาศัย แอปพลิเคชันไม่สามารถแยกได้เนื่องจากหน่วยความจำไม่เพียงพอและต้องการดูว่าการพยายามลดขนาดรอยเท้าเสมือนจริงจะช่วยได้หรือไม่

1
ความหมายของการส่งออกของ PMAP
ฉันเขียนmain.cใน Linux: int main() { while (1){} } เมื่อฉันรวบรวมและเริ่มมันฉันสามารถpmap: # pmap 28578 28578: ./a.out 0000000000400000 4K r-x-- /root/a.out 0000000000600000 4K r---- /root/a.out 0000000000601000 4K rw--- /root/a.out 00007f87c16c2000 1524K r-x-- /lib/libc-2.11.1.so 00007f87c183f000 2044K ----- /lib/libc-2.11.1.so 00007f87c1a3e000 16K r---- /lib/libc-2.11.1.so 00007f87c1a42000 4K rw--- /lib/libc-2.11.1.so 00007f87c1a43000 20K rw--- [ anon ] 00007f87c1a48000 128K …

3
การสำรวจเนื้อหา RAM
ฉันใช้ฐานข้อมูลredisและต้องการสำรวจเนื้อหาของ RAM ที่แอปพลิเคชันใช้อยู่ ฉันรู้สึกถึงคำอธิบายว่าทำไมฉันถึงต้องการทำสิ่งนี้จะทำให้เข้าใจได้ง่ายขึ้นแล้วคำถามที่ฉันจะถาม Redis เป็นที่เก็บค่าคีย์แบบง่ายที่เก็บข้อมูลไบนารี ฉันคิดว่ามันจะเป็นสถานที่ที่ดีในการสำรวจสิ่งต่าง ๆ เช่นการเข้ารหัสและมันน่าสนใจสำหรับฉันที่จะทำสิ่งต่าง ๆ เช่นการอ่านข้าม RAM เพื่อมองหาชุดข้อมูลไบนารี อาจสำรวจความคิดในการเขียนภาษาคิวรีทารกที่ค้นหาใน RAM ฉันได้รับความคิดนี้หลังจากอ่านบทในSICPเกี่ยวกับภาษาของแบบสอบถาม ความคิดใดที่จะเริ่ม? เริ่มแรกฉันต้องการถาม "ให้พื้นที่ที่อยู่ที่แอปพลิเคชันนี้ใช้งานอยู่" กับระบบ
12 linux  memory 

1
ฉันจะสังเกตแบนด์วิดท์ของหน่วยความจำได้อย่างไร
ฉันมีระบบ Linux ARM แบบฝังที่แสดงปริมาณงานน้อยกว่าที่คาดไว้ทั้งบน Ethernet และ USB ฉันสงสัยว่าหน่วยความจำอาจมีส่วนร่วม มีวิธีในการสังเกตแบนด์วิดธ์หน่วยความจำที่ใช้ในขณะที่ทดสอบทรูพุตบนอีเธอร์เน็ตหรือ USB หรือไม่?

1
Gnome 3.28 daemons จำนวนมากใช้ VIRT มากกว่า 100 GB ทำไม?
ฉันเพิ่งอัปเดตแล็ปท็อปนี้เป็น Fedora 28 Beta และใช้กับ Gnome 3.28 สิ่งที่ดีส่วนใหญ่ แต่บางสิ่งก็แปลก นี่ไม่ได้ทำให้เกิดปัญหาเพราะนี่คือหน่วยความจำเสมือนทั้งหมด แต่ทำไม daemons เหล่านี้จึงจัดสรรหน่วยความจำเสมือน 100+ GB? 0 1000 2012 1719 20 0 101649024 32904 SyS_po Sl ? 0:00 /usr/libexec/goa-daemon 0 1000 1983 1719 20 0 101704260 46416 SyS_po Sl ? 0:00 /usr/libexec/gnome-shell-calendar-server 0 1000 2210 1765 20 0 101736292 33656 SyS_po …

2
ฉันจะได้รับจำนวนหน่วยความจำที่พร้อมใช้งานแบบพกพาข้ามการกระจายได้อย่างไร
ไฟล์ / เครื่องมือมาตรฐานที่รายงานหน่วยความจำดูเหมือนจะมีรูปแบบที่แตกต่างกันในการแจกแจง Linux ที่แตกต่างกัน ตัวอย่างเช่นบน Arch และ Ubuntu โค้ง $ free total used free shared buff/cache available Mem: 8169312 3870392 2648348 97884 1650572 4110336 Swap: 16777212 389588 16387624 $ head /proc/meminfo MemTotal: 8169312 kB MemFree: 2625668 kB MemAvailable: 4088520 kB Buffers: 239688 kB Cached: 1224520 kB SwapCached: 17452 kB …
12 linux  memory  meminfo 

2
ทำไมระบบของฉันแสดง RAM เพียง 3.2 GiB เมื่อฉันมี 4.0 GiB
ฉันติดตั้ง RAM 2x2 GiB แล้ว การรันmemtest86จากเมนูการบู๊ตด้วงยืนยันว่า .. memtest86 รายงานว่าไม่มีข้อผิดพลาด อย่างไรก็ตามทุก ๆ วิธีที่ฉันตรวจสอบหน่วยความจำที่มีอยู่ของฉันในระบบ Ubuntu 10.04 ที่ใช้งานอยู่นั้นรายงานเพียงประมาณ 3.2 GiB cat /proc/meminfo == 3320132 kB System Monitor == 3.2 GiB htop == 3242 MB free -m == 3242 MB ใครมีRAM ขาดหายไปของฉัน อัปเดตข้อมูล: ตอนนี้ฉันเพิ่งบูตคู่เข้ากับ Ubuntu 10.04 รุ่นอื่นบนฮาร์ดแวร์เดียวกัน (ฉันลืมว่าฉันติดตั้งไปหลายเดือนแล้วสำหรับกรณีฉุกเฉิน):) .... รายงาน 3.9 GiB ผ่านSystem Monitor... …
12 linux  memory  x86  pae 

1
'ulimit -m' ใช้งานไม่ได้กับ Linux (ทันสมัย) หรือไม่
บทความนี้อ้างว่าการ-mตั้งค่าสถานะเพื่อulimitทำอะไรใน Linux ที่ทันสมัย ฉันไม่สามารถหาสิ่งอื่นใดมายืนยันการอ้างสิทธิ์นี้ได้ มันถูกต้องหรือไม่ คุณอาจพยายาม จำกัด การใช้หน่วยความจำของกระบวนการโดยการตั้งค่าขนาดชุดที่อยู่อาศัยสูงสุด (ulimit -m) สิ่งนี้ไม่มีผลกับ Linux ชาย setrlimit กล่าวว่าเคยใช้งานได้เฉพาะในรุ่นโบราณ คุณควร จำกัด จำนวนหน่วยความจำเสมือนสูงสุด (ulimit -v) แทน หากเป็นจริงว่ามันทำงานกับ Linux เวอร์ชันเก่าเวอร์ชันใดหยุดสนับสนุนสิ่งนี้

2
ฉันจะทราบได้อย่างไรว่า uboot ช่วงที่อยู่หน่วยความจำ RAM ถูกใช้งานอย่างไร
ฉันอยู่ใน uboot และสงสัยว่าฉันจะบอกได้อย่างไรว่าช่วงที่อยู่ของ RAM นั้นถูกใช้โดย uboot uboot ต้องการหน่วยความจำในการทำงานดังนั้นจึงอาจใช้ RAM บางตัว ฉันต้องการหลีกเลี่ยงการแก้ไขที่อยู่ RAM เหล่านั้น ฉันจะทราบได้อย่างไรว่าส่วนใดของหน่วยความจำที่โหลด uboot
12 linux  boot  memory  u-boot 

1
ความแตกต่างระหว่างหน่วยความจำทั้งหมดกับหน่วยความจำว่างคืออะไร
ฉันมีระบบเดสก์ท็อปที่ติดตั้ง Centos 7 มันมี 4 คอร์และ 12 GB หน่วยความจำ เพื่อค้นหาข้อมูลหน่วยความจำฉันใช้free -hคำสั่ง ฉันมีหนึ่งความสับสน [user@xyz-hi ~]$ free -h total used free shared buff/cache available Mem: 11G 4.6G 231M 94M 6.8G 6.6G Swap: 3.9G 104M 3.8G ในคอลัมน์รวมว่ากันว่าทั้งหมด 11GB (ถูกต้อง) ในคอลัมน์สุดท้ายที่มีอยู่มันบอกว่า 6.6GB และใช้เป็น 4.6G หากหน่วยความจำที่ใช้คือ 4.6GB ก็จะเหลือ 6.4 GB (11-4.6 = 6.4) การตีความเอาต์พุตที่ถูกต้องคืออะไรความแตกต่างระหว่างผลรวมและที่มีและหน่วยความจำว่างคืออะไร ฉันมีหน่วยความจำไม่เพียงพอถ้าฉันต้องการอีก …
12 linux  memory  ram 

1
ความหมายของหน่วยความจำที่แชร์ในคำสั่ง `free 'คืออะไร?
คอลัมน์ที่สี่ในการส่งออกของfreeเป็นชื่อที่ใช้ร่วมกัน บนเอาต์พุตส่วนใหญ่ที่ฉันเห็นในอินเทอร์เน็ตหน่วยความจำที่แชร์เป็นศูนย์ แต่นั่นไม่ใช่ในคอมพิวเตอร์ของฉัน: $ free -h total used free shared buff/cache available Mem: 7,7G 3,8G 1,1G 611M 2,8G 3,0G Swap: 3,8G 0B 3,8G นี่คือข้อความที่ตัดตอนมาจากผลลัพธ์ของps_mem.py: Private + Shared = RAM used Program --------------------------------- 21.4 MiB + 1.0 MiB = 22.4 MiB bash (9) 29.2 MiB + 5.3 MiB = 34.5 MiB …
12 linux  memory  ram 

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