คำถามติดแท็ก linux-kernel

คำถามเกี่ยวกับ Linux kernel และ Linux kernel หัวข้อที่เกี่ยวข้องเช่น รายละเอียดการนำไปใช้เช่นการเรียกใช้ระบบการปรับแต่งเคอร์เนล ฯลฯ สำหรับหัวข้อพื้นที่ผู้ใช้ Linux ซึ่งไม่เกี่ยวข้องกับรายละเอียดเคอร์เนล [linux] หรือแท็กการกระจายจะเหมาะสมกว่า

1
กระบวนการที่ล็อกอัพโดยไม่สนใจ SIGKILL นั้นทำงานได้ (ไม่ใช่ซอมบี้หรืออยู่ในโหมดสลีปที่ไม่สามารถหยุดทำงานได้) อยู่ในสถานะใด
ฉันมีกระบวนการที่หลายต่อหลายครั้งในตอนนี้หยุดการตอบสนองและดูเหมือนจะล็อคอย่างสมบูรณ์ มันไม่ตอบสนองต่อความพยายามใด ๆ ที่ strace หรือ peeking กับ gdb (gdb เพิ่งแฮงค์บน wait4 () syscall) กระบวนการนี้เป็นกระบวนการที่ทำงานได้และจะไม่รอใน syscall (/ proc / X / syscall: running) หรือในการนอนหลับแบบต่อเนื่อง (/ proc / X / สถานะ: State: R (running)) กระบวนการนี้อยู่ในสถานะใด? นี่อาจเป็นข้อผิดพลาดของเคอร์เนลในบางประเภทหรือไม่ กระบวนการเป็นสีแดงและนี่เกิดขึ้นสองสามครั้งแล้ว สิ่งเดียวที่สามารถฆ่ากระบวนการนั้นได้คือการรีบูตดูเหมือนว่า ระบบปฏิบัติการคือ Cent 7 แก้ไข: เวอร์ชันเคอร์เนลคือ 3.10.0-123.13.2.el7.x86_64 ลองอัปเดตเป็น 3.10.0-229.11.1.el7 เพื่อดูว่ามีความแตกต่างหรือไม่

1
จะเปลี่ยนความถี่สลับบริบทของ Linux ได้อย่างไร?
เป็นไปได้อย่างไรที่จะเปลี่ยนความถี่บริบทลินุกซ์ (linaro, ubuntu, debian)? ฉันไม่เป็นไรสำหรับการซื้อขายออกจากระบบที่ตอบสนองน้อยกว่าสำหรับระบบที่มีประสิทธิภาพมากขึ้น EDIT1: ฉันมีกระบวนการหลักที่ฉันต้องการให้ทำงานเร็วที่สุดเท่าที่จะเป็นไปได้ (รอบนาฬิกาสูงสุดต่อวินาที) ดังนั้นฉันจึงคิดว่าจะลดความถี่บริบทของสวิตช์ (= เพิ่มช่วงเวลา) คำถามคือทำอย่างไรและจะมีผลกระทบที่สำคัญหรือไม่ ฉันสามารถคำนวณต้นทุนของการสลับบริบทได้หรือไม่ ความหมายฉันสามารถประเมินได้หรือไม่ถ้าฉันเพิ่มจำนวนเวลาสองเท่าฉันจะเพิ่มประสิทธิภาพการทำงานของฉันเป็น% สำหรับกระบวนการหลักที่ฉันสนใจได้อย่างไร

1
เคอร์เนล Debian ใดที่ฉันควรติดตั้ง
ฉันเริ่มติดตั้งการทดสอบ Debian ใน amd64 และฉันมาที่หน้าจอเพื่อขอให้ฉันติดตั้งเคอร์เนล มันทำให้ฉันเลือกระหว่างlinux-image-3.16-2-amd64, และlinux-image-amd64none ความแตกต่างระหว่างตัวเลือกเหล่านี้คืออะไร? ฉันจะเลือกอันไหน

2
วิธีการเปิดใช้งานและใช้ตัวกำหนดตารางเวลาของ BFQ
ฉันเพิ่งติดตั้ง Linux เคอร์เนลเวอร์ชัน 4.12 บน Ubuntu 17.04 โดยใช้ ukuu (ยูทิลิตี้เคอร์เนล Ubuntu Kernel Update https://doc.ubuntu-fr.org/ubuntu_kernel_upgrade_utility ) สิ่งนี้คือเมื่อฉันตรวจสอบ I / O schedulers ที่มีอยู่ฉันไม่สามารถหา BFQ หรือ Kyber I / O scheduler ได้: cat /sys/class/block/sda/queue/scheduler > noop deadline [cfq] ดังนั้นวิธีการใช้หนึ่งใน schedulers ใหม่ในรุ่น Linux นี้?

3
เป็นไปได้ไหมที่จะเปลี่ยนเคอร์เนลในระบบ UNIX / Linux?
ฉันอยากรู้ว่ามันเป็นไปได้ไหมที่จะเปลี่ยนเมล็ดตัวอย่างเช่นแทนที่เคอร์เนล Linux ของ Fedora ไปเป็น FreeBSD ตอนนี้มีDebian GNU / kFreeBSDอยู่แล้ว เป็นไปได้ไหมที่ฉันจะปรับแต่ง distro Linux เพื่อให้มีเคอร์เนล BSD?

2
เคอร์เนล Linux วางรหัสการสแกนคีย์บอร์ดแบบกำหนดเอง
ฉันมีแป้นพิมพ์ M คีย์ IBM 122 รุ่นวินเทจที่ฉันปรับให้ใช้กับคอมพิวเตอร์ที่ทันสมัย ฉันใช้ Teensy 2.0 เพื่อทำการเข้ารหัสและจัดการกับด้าน USB ของสิ่งต่าง ๆ ฉันยืมเฟิร์มแวร์จากโครงการแป้นพิมพ์ฮัมเบิลแฮ็กเกอร์ ( https://github.com/humblehacker/keyboard ) และฉันเพิ่มคีย์พิเศษในการกำหนดค่าบิลด์ จนถึงตอนนี้ดีมาก คีย์ "ปกติ" ทั้งหมดใช้งานได้ แต่เคอร์เนลดูเหมือนจะวางคีย์พิเศษ ( F13- F24และอื่น ๆ ) การเรียกใช้/lib/udev/keymap -i input/event0แสดงรหัสสแกนของปุ่มปกติทั้งหมด แต่ไม่มีสิ่งใดสำหรับปุ่มพิเศษ การเรียกใช้wiresharkแพ็คเก็ตเพื่อจับแพ็คเก็ตพอร์ต USB แสดงว่าแป้นพิมพ์กำลังส่งรหัสสแกน แต่ดูเหมือนว่าเคอร์เนลกำลังวางมันลงบนหลักการ ฉันรู้สึกว่านี่เป็นสิ่งที่อยู่ในเคอร์เนลไดรเวอร์ที่ไม่ส่งโค้ดสแกนที่ไม่ได้คาดหวัง ฉันคิดว่าจะมีการเรียงลำดับของคีย์หลัก "master" ใน.hไฟล์บางไฟล์ในเคอร์เนลที่อื่น แต่จนถึงตอนนี้ฉันยังไม่ประสบความสำเร็จในความพยายามที่จะค้นหา เป็นเรื่องที่น่าเครียดที่ฉันไม่ได้ถามเกี่ยวกับการทำแผนที่ปุ่มพิเศษใน X เหมือนกับคนอื่น ๆ ก่อนหน้าฉัน นี่เป็นปัญหาระดับต่ำซึ่งมีความเกี่ยวข้องกับเคอร์เนล สมมติว่าฉันจะไม่ใช้ X เลย …


3
ฉันจะค้นหารายการจดหมายข่าวของลินุกซ์เคอร์เนลได้อย่างไร?
ฉันต้องการศึกษาว่าเพราะเหตุใดคุณลักษณะเคอร์เนล Linux จึงหายไปจากการติดตั้ง Linux ของฉันโดยค้นหาลิสต์การส่งเมลเคอร์เนลสำหรับการสนทนาล่าสุดในหัวข้อ เว็บไซต์เดียวที่ฉันได้พบว่าข้อเสนอการค้นหาของจดหมายเหตุรายชื่อผู้รับจดหมายเป็นgmane อย่างไรก็ตามการค้นหาคำที่มีเครื่องหมายคำพูด (เช่น "/ usr / เฟิร์มแวร์") ใน gmane ไม่ได้ จำกัด ผลลัพธ์ที่จะรวมเฉพาะวลีที่ยกมา มีการค้นหาขั้นสูงเพิ่มเติมของลินุกซ์รายชื่อผู้รับจดหมาย Linux?

2
พารามิเตอร์ GRUB2 และเคอร์เนล vga =
ตามเอกสารประกอบการใช้vga=พารามิเตอร์เคอร์เนลจะถูกคัดค้าน ณ วันที่ของ GRUB2 ความจริงที่ว่าเมล็ดพันธุ์ใหม่บางอันดูเหมือนจะไม่สนับสนุนอีกต่อไปในอะแดปเตอร์บางรุ่นก็ไม่ต้องกังวลเพราะกราฟิกการ์ดที่ฉันมีอายุเจ็ดถึงแปดปี ปัญหาตอนนี้คือฉันต้องการใช้โหมดข้อความความละเอียดสูงกว่าเช่น 80x50 แทนที่จะเป็นตัวอักษรเริ่มต้น 80x25 เห็นได้ชัดว่ากราฟิก (VBE / VESA) โหมดการจะออกจากคำถามสำหรับนี้กราฟิกการ์ด (ATI Rage XL) - รายการของโหมดที่สามารถใช้ได้เพียงแสดงให้เห็นผ่าน0 มันดูน่ากลัว แต่ฉันอยากไปด้วย(80x50)6680x601 ฉันเห็น 80x50 และ 80x60 ทำงานหลังจากรับรายการของโหมดที่มีอยู่เมื่อใดก็ตามที่ไม่รองรับโหมดเริ่มต้น (โดยมีการใส่ความคิดเห็นเริ่มต้นGRUB_TERMINAL=console) และฉันได้รับแจ้งให้เลือก ฉันจะตั้งค่าโหมดได้อย่างไรถ้าฉันไม่ควรตั้งค่าบนบรรทัดคำสั่งเคอร์เนลและการใช้งานทุกครั้งGRUB_GFXMODE(ไม่ว่าจะมีหรือไม่มีvbeโมดูลการโหลดล่วงหน้า) และGRUB_GFXPAYLOAD_LINUX=keepล้มเหลวหรือไม่ ล้มเหลวเช่นเดียวกับใน: หน้าจอว่างเปล่าเนื่องจากเป็นโหมดกราฟิกที่ไม่ถูกต้องสำหรับการ์ดที่ฉันมีในเครื่องนี้หรือไม่ ความคิดของฉันคือการส่งผ่านnomodesetไปยังเคอร์เนล แต่บูตโหลดเดอร์จะยังคงต้องตั้งค่าโหมดกราฟิก และฉันไม่เห็นตัวเลือกอื่นใดนอกจากvga=พารามิเตอร์เคอร์เนลสำหรับการทำเช่นนั้น หมายเหตุ:vbetestและvideotestคำสั่งใน GRUB2 Console จะว่างเปล่าหน้าจอแล้วหน้าจอสลับไปที่โหมดการนอนหลับหลังจากที่อ้างว่าไม่มีการใส่วิดีโอ vbeinfoและvideoinfoแสดงโหมดที่มีอยู่สองสามโหมดนอกเหนือจากที่กล่าวถึงข้างต้น แต่ไม่มีการกล่าวถึงว่าควรตั้งค่าที่ใด นอกจากนี้เมื่อผ่านvga=1(ไม่nomodeset) ในบรรทัดคำสั่งเคอร์เนลผมเห็นคำเตือนสั้น ๆ เกี่ยวกับเรื่องนี้ถูกเลิก แต่มันยาวเกินไปที่จะอ่านอย่างสมบูรณ์ - dmesgและการส่งออกจะไม่ปรากฏใน

5
การเปิดใช้งาน IOMMU ในเคอร์เนลสำหรับการส่งผ่านกราฟิกการ์ด
คำถามสั้น ๆ : ฉันจะเปิดการintel_iommuตั้งค่าในเคอร์เนล Linux ได้อย่างไร ฉันใช้โฮสต์ Debian โดยใช้ bootloader grub2 เอกสารที่ฉันได้เห็นบอกว่าจะแก้ไข/boot/grub/menu.lstซึ่งดูเหมือนจะเกี่ยวข้องเฉพาะกับด้วง 1.x เนื่องจากฉันไม่มีไฟล์นั้น เป็นความเข้าใจของฉัน (และตัวเลือกสุดท้ายที่ฉันนึกได้) ว่าการเปลี่ยนตัวเลือกการบูตนี้อาจกำจัดข้อความแสดงข้อผิดพลาดต่อไปนี้ /var/log/kern.log vboxpci: No IOMMU domain (attach) คำถามยาว: ให้เกสต์ OS เข้าถึงกราฟิกการ์ดโดยตรง ฉันเพิ่งรู้ว่ามันเป็นไปได้ที่จะผ่านอุปกรณ์ PCI-Express ไปยังแขกของ OS ที่ทำงานใน Virtualbox เจ๋งฉันคิดว่า! ฉันมีการ์ดกราฟิก NVIDIA Quadro FX สองตัว (ที่มีการเชื่อมต่อ SLI bridge ในสถานที่ซึ่งฉันหวังว่าจะไม่ทำให้เกิดความเศร้าโศก) และต้องการอุทิศกราฟิกการ์ดตัวที่ 2 ให้กับแขกระบบปฏิบัติการเพื่อให้ฉันสามารถใช้คุณสมบัติ OpenGL ภายใน Photoshop และคณะ …

1
ผิดหรือเปล่าที่คิดว่า“ memfd” เป็น“ กระบวนการที่เป็นเจ้าของไฟล์”
https://dvdhrm.wordpress.com/2014/06/10/memfd_create2/ ในทางทฤษฎีคุณสามารถบรรลุ [ memfd_create()] พฤติกรรมโดยไม่ต้องแนะนำ syscalls ใหม่เช่นนี้ int fd = open("/tmp", O_RDWR | O_TMPFILE | O_EXCL, S_IRWXU); (หมายเหตุเพื่อรับประกัน tmpfs มากขึ้นที่นี่เราสามารถใช้ " /dev/shm" แทน " /tmp") ดังนั้นคำถามที่สำคัญที่สุดคือทำไมเราถึงต้องการวิธีที่สาม? [ ... ] หน่วยความจำสำรองจะถูกประมวลผลโดยกระบวนการที่เป็นเจ้าของไฟล์และไม่อยู่ภายใต้การเมาต์โควต้า ฉันคิดถูกแล้วว่าส่วนแรกของประโยคนี้ไม่สามารถพึ่งพาได้ รหัสmemfd_create () มีการใช้งานอย่างแท้จริงว่าเป็น " ไฟล์ที่ไม่เชื่อมโยงอยู่ใน [a] tmpfs ซึ่งต้องเป็นเคอร์เนลภายใน " การติดตามรหัสฉันเข้าใจว่ามันไม่ได้มีการใช้การตรวจสอบ LSM แตกต่างกันนอกจากนี้ memfds ยังถูกสร้างขึ้นเพื่อรองรับ "แมวน้ำ" เนื่องจากโพสต์บล็อกอธิบายต่อไป อย่างไรก็ตามฉันสงสัยอย่างมากว่า memfds มีสัดส่วนแตกต่างจาก …

4
ฉันจะลบเคอร์เนลเวอร์ชันเก่าใน CentOS 7 ได้อย่างปลอดภัยได้อย่างไร
ฉันอาจพบอาการแปลก ๆ ที่เกิดจากการแข่งขันของเมล็ดใน CentOS 7 ดังนั้นฉันจะลบเมล็ดเก่าได้อย่างปลอดภัยได้อย่างไร และฉันจะรู้ได้อย่างไรว่าเคอร์เนลตัวใดเป็นรุ่นใหม่ล่าสุด ด้านล่างคือผลลัพธ์ของเทอร์มินัลที่ฉันได้รับในขณะที่ทำการค้นคว้าสิ่งนี้บนเซิร์ฟเวอร์ที่เป็นปัญหา โปรดทราบว่าฉันลองแพคเกจการล้างข้อมูล แต่มันจะเหมือนกัน 2 เมล็ด: คำแนะนำในบทช่วยสอนนี้บอกว่าผลลัพธ์ของคำสั่งสองคำสั่งต่อไปนี้ควรตรงกัน แต่คุณสามารถเห็นได้ว่าคำสั่งนั้นไม่ตรงกันแม้หลังจากรีบูต: [root@localhost ~]# rpm -qa kernel |sort -V |tail -n 1 kernel-3.10.0-229.el7.x86_64 [root@localhost ~]# uname -r 3.10.0-229.14.1.el7.x86_64 คำสั่งที่เหลือยืนยันว่ามีสองเมล็ดและแสดงความพยายามในการลบเก่า [root@localhost ~]# cd /usr/src/kernels [root@localhost kernels]# ls -al total 16 drwxr-xr-x. 4 root root 4096 Oct 2 12:55 . …

1
ตีความชื่อเธรด kworker ได้อย่างไร
บน Linux 3.11.0-13-generic ที่ใช้งานบนซ็อกเก็ตคู่ Xeon X5650 hexa core board htopจะแสดงเธรด kworker ที่แตกต่างกัน จัดเรียงตามชื่อ (ฉัน tweaked ผลลัพธ์ที่ฉันแสดงที่นี่เล็กน้อยเพื่อให้เธรดใน core 2 ก่อนที่จะอยู่ใน core 10) นี่คือผลลัพธ์: kworker/0:0H kworker/0:1 kworker/0:2 kworker/1:0 kworker/1:0H kworker/1:1 kworker/2:0 kworker/2:0H kworker/2:1 ..... kworker/11:0 kworker/11:0H kworker/11:1 kworker/u48:0 kworker/u49:4 kworker/u49:5 kworker/u50:1 kworker/u50:2 ....... เธรดที่ชื่อขึ้นต้นด้วยตัวเลขจะถูกตรึงไว้กับคอร์ด้วยหมายเลขเดียวกัน ดังนั้นหมายเลขแรกคือแกนที่ใช้เธรดและฉันสงสัยว่าสัญลักษณ์หลังจาก:( 0หรือ0Hหรือ1) สำหรับเธรดเหล่านี้คืออะไร? ฉันยังสงสัยว่าความหมายของuXX:Yสัญลักษณ์คืออะไร? ฉันมีความรู้ที่คลุมเครือในสิ่งที่เธรด kworker ทำ: พวกเขาจัดการเหตุการณ์แบบอะซิงโครนัสที่เกิดจากการเรียกของระบบที่ดำเนินการ …

3
เคอร์เนล: การสนับสนุน Namespaces
ฉันสงสัยว่าคุณสมบัติ“ Namespaces support” ในเคอร์เนลหมายถึงอะไร ฉันใช้เคอร์เนล 3.11.1 (เคอร์เนลที่เสถียรที่สุดในขณะนี้) หากฉันตัดสินใจที่จะปิดการใช้งานฉันจะสังเกตเห็นการเปลี่ยนแปลงในระบบของฉันหรือไม่? และในกรณีที่มีใครบางคนตัดสินใจที่จะใช้ประโยชน์จากเนมสเปซมันก็เพียงพอแล้วที่จะรวบรวมNAMESPACES=Yในเคอร์เนลหรือว่าเขาต้องการเครื่องมือ userspace เช่นกัน?

9
Linux บน 286?
ฉันไม่ได้เป็นเจ้าของ 286 หรือฉันตั้งใจที่จะใช้ Linux กับเครื่องหนึ่ง อย่างไรก็ตามตั้งแต่ 286 มีโหมดป้องกันเหตุใดจึงมักระบุว่า Linux ต้องการ CPU 386 หรือสูงกว่า จากhttp://tuxmobil.org/286_mobile.htmlดูเหมือนว่ารุ่น ELKS ของ Linux สามารถทำงานบน 286 ได้ถูกต้องหรือไม่ มีการแก้ไขอะไรบ้าง (ถ้ามี) เพื่อให้เคอร์เนลทำงานบน CPU 286 ตอนนี้เห็นได้ชัดว่าฉันเข้าใจว่าเคอร์เนลที่รวบรวมสำหรับ 386 ไม่สามารถดำเนินการกับ 286 CPU ซึ่งเป็น 16 บิต ดังนั้นคำถามของฉันคือทำไมเคอร์เนล Linux มาตรฐานไม่สามารถคอมไพล์สำหรับ 286 และดำเนินการกับ 286 ได้หรือไม่ Linux ต้องการฮาร์ดแวร์ VM86 หรือไม่

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