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

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

6
มีเครื่องมือที่อนุญาตให้บันทึกการใช้งานหน่วยความจำหรือไม่?
ฉันต้องการตรวจสอบการใช้หน่วยความจำของกระบวนการและฉันต้องการให้บันทึกข้อมูลนี้ เครื่องมือดังกล่าวมีอยู่จริงหรือไม่?

6
คำสั่ง Shell เพื่ออ่านการลงทะเบียนอุปกรณ์?
บนคอมพิวเตอร์บอร์ดเดียวที่ใช้ Linux มีวิธีอ่านเนื้อหาของการกำหนดค่าอุปกรณ์ที่ลงทะเบียนซึ่งควบคุมฮาร์ดแวร์หรือไม่ inw()ฉันคิดว่ามันจะเป็นเสื้อคลุมสำหรับ ฉันกำลังมองหาบางสิ่งที่เทียบเท่ากับmdคำสั่งการถ่ายโอนข้อมูลหน่วยความจำ U-boot ( ) เพื่อใช้ในบริบทของการดีบักไดรเวอร์
18 linux  memory  embedded 

3
การจัดสรรสแต็คทำงานใน Linux อย่างไร
ระบบปฏิบัติการสำรองพื้นที่เสมือนที่ถูกต้องตามจำนวนที่แน่นอนสำหรับกองซ้อนหรืออย่างอื่นหรือไม่? ฉันสามารถสร้าง stack overflow โดยใช้ตัวแปรท้องถิ่นขนาดใหญ่ได้หรือไม่? ฉันได้เขียนCโปรแกรมขนาดเล็กเพื่อทดสอบสมมติฐานของฉัน มันทำงานบน X86-64 CentOS 6.5 #include <string.h> #include <stdio.h> int main() { int n = 10240 * 1024; char a[n]; memset(a, 'x', n); printf("%x\n%x\n", &a[0], &a[n-1]); getchar(); return 0; } เรียกใช้โปรแกรมให้&a[0] = f0ceabe0และ&a[n-1] = f16eabdf แม็พ proc แสดงสแต็ก: 7ffff0cea000-7ffff16ec000. (10248 * 1024B) จากนั้นฉันก็พยายามเพิ่ม n = …

8
cron เทียบกับ sleep - อันไหนดีกว่าในแง่ของการใช้ cpu / memory อย่างมีประสิทธิภาพ?
กรณี: ฉันจำเป็นต้องเรียกใช้คำสั่ง / สคริปต์ในช่วงเวลาที่แน่นอนและสำหรับสิ่งนี้ฉันมีสองตัวเลือก: ตั้งค่าcron-job ใช้การวนซ้ำsleepในสคริปต์เอง คำถาม: ตัวเลือกใดที่ดีกว่าจากมุมมองการใช้ทรัพยากรทำไม เป็นcronวิธีที่ดีกว่า cron ใช้ทริกเกอร์บางอย่างหรืออะไรที่ทำให้มันมีประสิทธิภาพมากกว่าอีก cron? cron ใช้ขั้นตอนอะไรในการตรวจสอบและเริ่มงาน?

2
คำสั่งการใช้หน่วยความจำที่มีไวยากรณ์คล้ายกับคำสั่งเวลา
คำสั่งอะไรแสดงการใช้งานหน่วยความจำของโปรแกรมฉันกำลังมองหาคำสั่งที่ใช้งานง่ายและมีไวยากรณ์คล้ายกับtimeคำสั่ง ฉันพยายามค้นหาการใช้งานหน่วยความจำของโปรแกรมแฮช md5 ที่เขียนใน C และใช้เวลา 7 วินาทีในการแฮช "hello world" ฉันใช้ระบบปฏิบัติการ android พร้อมติดตั้ง busybox
18 memory  time  command 

2
จะวาง / จัดเก็บไฟล์ในหน่วยความจำบน linux ได้อย่างไร?
ฉันได้อ่านที่ไหนสักแห่งที่สามารถวางไฟล์บนระบบ linux ลงในหน่วยความจำและการโหลดมันจะเร็วมาก ฉันจะทำสิ่งนี้ได้อย่างไร ฉันจะตรวจสอบว่าไฟล์ถูกโหลดจากหน่วยความจำได้อย่างไร
18 linux  files  memory 

1
หน่วยความจำแคชและหน่วยความจำที่ใช้แล้วแตกต่างกันอย่างไร
ในแอปเพล็ตแผงการตรวจสอบระบบของฉันใน Linux Mint 17.3 อบเชยมันแสดงให้ฉันเห็นการใช้หน่วยความจำของหน่วยความจำที่ใช้และหน่วยความจำแคชรวมกันในขณะที่ในแอปพลิเคชันตรวจสอบระบบ . หน่วยความจำแคชคืออะไรและเป็นสิ่งที่น่าเป็นห่วงหากมีการใช้งานหน่วยความจำจำนวนมาก
18 memory 

1
เหตุใดวัตถุพื้นจึงไม่เรียกคืนโดยอัตโนมัติ
อัปเดต : ฉันไม่พบปัญหานี้ใน 4.9 อีกต่อไป * ไม่แน่ใจว่าเมื่อใดที่ได้รับการแก้ไข ทุกวันหลังจากการสำรองข้อมูลเต็มระบบโปรแกรมต่าง ๆ ล้มเหลวพร้อมข้อผิดพลาดในการอ่านจนกว่าฉันecho 2 > /proc/sys/vm/drop_cachesจะรันเพื่อเรียกคืนออบเจ็กต์แผ่นพื้นที่เรียกคืนได้ฟรี ตัวอย่างเช่นนี่คือผลลัพธ์ของsudo apt-get updateหลังจากการสำรองข้อมูล $ sudo apt-get update Hit http://ftp.ca.debian.org unstable InRelease Hit http://ftp.ca.debian.org experimental InRelease Ign http://dl.google.com stable InRelease Get:1 http://ftp.ca.debian.org unstable/contrib amd64 Packages/DiffIndex [7,819 B] Hit http://dl.google.com stable Release.gpg Hit http://ppa.launchpad.net wily InRelease Get:2 http://ftp.ca.debian.org unstable/non-free …

4
วิธีบังคับให้เคอร์เนลของ Linux“ หยุด” (หรือเกือบหยุดนิ่ง) เป็นเวลาสองสามร้อยมิลลิวินาที
เรากำลังเรียกใช้กระบวนการแบบเรียลไทม์บนเคอร์เนลที่ไม่ใช่แบบเรียลไทม์ (CentOS 6) และนี่อาจจะไม่เปลี่ยนแปลง เรามีแอพพลิเคชั่นวิดีโอสตรีมมิ่งที่ต้องการปริมาณการรับส่งข้อมูล PCIe ประมาณ 500 MB / s จาก FPGA ที่กำหนดเองอย่างต่อเนื่องเป็นเวลา 1.5 ชั่วโมงต่อครั้ง แอปพลิเคชั่นทำงานได้ดี - ส่วนใหญ่ อย่างไรก็ตามเรามีสถานการณ์ที่ดูเหมือนว่าเคอร์เนลจะหยุดตอบสนองต่อการให้บริการ PCIe หรือหน่วยความจำร้องขอสูงสุด 500 มิลลิวินาทีในแต่ละครั้ง สิ่งนี้ดูเหมือนว่าจะเกิดขึ้นในระหว่างการระเบิดไฟล์ IO จากเธรดอื่น ฉันพบว่ามันเป็นไปไม่ได้ที่จะพยายามทำซ้ำปัญหานี้โดยการทำไฟล์ดัมมี่จำนวนมาก IO จากพื้นที่ผู้ใช้ขณะที่แอปพลิเคชันหลักทำงานอยู่ มีวิธีบังคับ (จำลอง) "หยุด" ทั่วโลกของ Linux kernel (โดยเฉพาะการหยุด PCIe หรือการเข้าถึงหน่วยความจำ DDR3 ทั้งหมดหรืออะไรทำนองนั้น) เพื่อให้เราสามารถสร้างปัญหานี้ได้หรือไม่ ขณะนี้เรามีบัฟเฟอร์มากถึง 10 มิลลิวินาทีในหน่วยความจำ FPGA ภายใน แต่ก็ยังไม่เพียงพอ เราสามารถบัฟเฟอร์ไปยัง FPGA …

4
เป็นไปได้หรือไม่ที่จะหาช่วงที่อยู่ทางกายภาพของ DIMM?
ฉันทราบว่า SMBios Type 20 จะช่วยได้ที่นี่ แต่เป็นตัวเลือกของเวอร์ชัน2.5 (2006-09-05) หน้า 25, L796 และหน้า 131ในขณะที่ประเภท 16, 17 และ 19 เป็นข้อบังคับ แต่ไม่มาก ช่วยด้วย. อาร์เรย์หน่วยความจำกายภาพ (ชนิด 16) มีหนึ่งในโครงสร้างเหล่านี้สำหรับทั้งระบบอธิบายสิ่งที่เป็นไปได้ในบอร์ดนี้ Handle 0x1000, DMI type 16, 23 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: Multi-bit ECC Maximum Capacity: 768 GB …
17 memory  ecc  smbios 

2
Linux: การแลกเปลี่ยนทั้งหมดที่ใช้ = swap ที่ใช้โดยกระบวนการ +?
ดังนั้นฉันกำลังพยายามตรวจสอบว่าการใช้ swap มาจากไหนในระบบที่มีการใช้ swap สูง: # free total used free shared buffers cached Mem: 515324 508800 6524 0 4852 27576 -/+ buffers/cache: 476372 38952 Swap: 983032 503328 479704 การเพิ่มค่า swap ที่ใช้ต่อกระบวนการ: # for proc in /proc/*; do cat $proc/smaps 2>/dev/null | awk '/Swap/{swap+=$2}END{print swap "\t'`readlink $proc/exe`'"}'; done | sort -n …
17 linux  memory  swap 

3
วิธีการตรวจสอบประเภทหน่วยความจำภายใต้ Linux?
ยูทิลิตี้ Linux ตัวใดที่สามารถบอกฉันได้ว่าฉันได้ลงทะเบียนหรือไม่ได้หน่วยความจำ ECC ในเซิร์ฟเวอร์ของฉันหรือไม่? Lshwและdmidecodeไม่ทำงานสำหรับฉัน; dmidecodeไม่ให้ข้อมูลเกี่ยวกับการลงทะเบียนกับการไม่มีข้อผิดพลาด: Handle 0x0022, DMI type 17, 28 bytes Memory Device Array Handle: 0x0021 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: DIMM-1A Bank Locator: Not Specified Type: <OUT OF SPEC> …
17 linux  hardware  memory 

2
การใช้หน่วยความจำสูง แต่ไม่มีกระบวนการใช้งาน
ฉันทำงานfree -mบนเดเบียน VM ที่ทำงานบน Hyper-V: total used free shared buffers cached Mem: 10017 9475 541 147 34 909 -/+ buffers/cache: 8531 1485 Swap: 1905 0 1905 ดังนั้นจากหน่วยความจำ 10GB ของฉันมีการใช้งาน 8.5GB และฟรีเพียง 1500MB (ไม่รวมแคช) แต่ฉันพยายามหาสิ่งที่ใช้หน่วยความจำ ผลลัพธ์ของps aux | awk '{sum+=$6} END {print sum / 1024}'ซึ่งควรจะเพิ่มการใช้งาน RSS คือ: 1005.2 กล่าวอีกนัยหนึ่งกระบวนการของฉันใช้หน่วยความจำ 1GB เท่านั้น …
17 linux  debian  memory 

3
ในหน่วยความจำระบบ…โดยเฉพาะความแตกต่างระหว่าง `tmpfs,` `shm, 'และ' hugepages ... '
ฉันเพิ่งสงสัยเกี่ยวกับระบบไฟล์ที่ใช้หน่วยความจำเคอร์เนลลินุกซ์ต่างๆ Note:เท่าที่ฉันกังวลคำถามด้านล่างควรพิจารณาตัวเลือกมากขึ้นหรือน้อยลงเมื่อเทียบกับความเข้าใจที่ดีขึ้นของการโพสต์ในชื่อเรื่อง ฉันถามพวกเขาด้านล่างเพราะฉันเชื่อว่าการตอบคำถามพวกเขาสามารถช่วยฉันให้เข้าใจความแตกต่างได้ดีขึ้น แต่เนื่องจากความเข้าใจของฉันมี จำกัด ดังนั้นจึงเป็นไปตามที่คนอื่นอาจรู้ดีกว่า ฉันพร้อมที่จะยอมรับคำตอบใด ๆ ที่เสริมสร้างความเข้าใจในความแตกต่างระหว่างระบบไฟล์ทั้งสามที่กล่าวถึงในชื่อเรื่อง ท้ายที่สุดฉันคิดว่าฉันต้องการติดตั้งระบบไฟล์ที่ใช้งานได้hugepages,แม้ว่างานวิจัยเบา ๆ (และยังคงมีการแก้ไขเล็กน้อย) ทำให้ฉันเชื่อว่า a rewritable hugepage mountไม่ใช่ตัวเลือก ฉันเข้าใจผิด กลไกอะไรที่เล่นที่นี่? ยังเกี่ยวกับ hugepages: uname -a 3.13.3-1-MANJARO \ #1 SMP PREEMPT \ x86_64 GNU/Linux tail -n8 /proc/meminfo HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 8223772 kB DirectMap2M: 16924672 …

3
วิธี จำกัด ทรัพยากรทั้งหมด (หน่วยความจำ) ของกระบวนการและลูก ๆ ของกระบวนการ
มีคำถามและคำตอบมากมายเกี่ยวกับการ จำกัด ทรัพยากรของกระบวนการเดียวเช่น RLIMIT_AS สามารถใช้เพื่อ จำกัด หน่วยความจำสูงสุดที่จัดสรรโดยกระบวนการที่สามารถมองเห็นเป็น VIRT topได้ เพิ่มเติมเกี่ยวกับหัวข้อเช่นที่นี่มีวิธี จำกัด ปริมาณหน่วยความจำที่กระบวนการเฉพาะสามารถใช้ใน Unix ได้หรือไม่? setrlimit(2) เอกสารกล่าวว่า: กระบวนการลูกที่สร้างผ่าน fork (2) สืบทอดข้อ จำกัด ทรัพยากรของผู้ปกครอง ข้อ จำกัด ทรัพยากรจะถูกเก็บรักษาไว้ใน execve (2) ควรเข้าใจด้วยวิธีต่อไปนี้: หากกระบวนการมี RLIMIT_AS เช่น 2GB จะไม่สามารถจัดสรรหน่วยความจำได้มากกว่า 2GB เมื่อวางไข่เด็กขีด จำกัด พื้นที่แอดเดรสของ 2GB จะถูกส่งผ่านไปยังเด็ก แต่การนับเริ่มต้นที่ 0 กระบวนการทั้งสองเข้าด้วยกันสามารถใช้หน่วยความจำได้สูงสุด 4GB แต่อะไรจะเป็นวิธีที่มีประโยชน์ในการ จำกัด ผลรวมของหน่วยความจำที่จัดสรรโดยแผนผังกระบวนการทั้งหมด?

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