Questions tagged «kernel»

有关UNIX内核的所有内容:开发,配置,编译,设计等。


2
如何检查rx环,max_backlog和max_syn_backlog大小
在故障排除和调整过程中,经常会发现自己在思考以下Linux内核设置: net.core.netdev_max_backlog net.ipv4.tcp_max_syn_backlog net.core.somaxconn 除此之外fs.file-max,net.ipv4.ip_local_port_range,net.core.rmem_max,net.core.wmem_max,net.ipv4.tcp_rmem,和net.ipv4.tcp_wmem,他们似乎是混乱的重要旋钮,当你调整了一个框高水平并发用。 我的问题:如何检查每个队列中有多少个项目?通常,人们只是将它们设置得很高,但是我想记录这些队列的大小,以帮助预测未来的故障并在问题以用户可察觉的方式显现之前发现问题。
41 linux  kernel  networking  tcp 

8
uname从何处获取其信息?
uname真正从何处获得其信息? 我认为这应该很简单。不幸的是,我找不到任何仅包含该信息的标头。 假设有人想要将uname/ 的基本输出uname -s 从更改Linux为其他内容(本质上是重命名内核)。 他/她将如何以正确的方式进行操作(即更改源)?
40 linux  kernel  source 

8
Linux内核与微内核体系结构相比如何?
我曾经读过一次,微内核体系结构的一个优点是您可以停止/启动网络和文件系统之类的基本服务,而无需重新启动整个系统。但是考虑到当今的Linux内核(是否总是这样?)提供了使用模块来达到相同效果的选项,那么微内核的(剩余的)优势是什么?
38 linux  kernel 

2
如何从“测试”回到“稳定”-内核降级
目前,我很开心apt-get-不好的是,这是我自己的错。我已启用其中的testing软件包/etc/apt/sources.list以安装特定的软件包。然后我告诉我的系统apt-get dist-upgrade。一切工作正常,但现在我正尝试恢复stable更新-但我失败了... 尝试执行时apt-get dist-upgrade,我得到以下信息: The following packages will be REMOVED: linux-image-3.10-3-amd64 The following NEW packages will be installed: libcgi-fast-perl libfcgi-perl libyaml-syck-perl The following packages will be DOWNGRADED: initramfs-tools libdate-manip-perl munin munin-common 好吧,没关系,但是当我尝试执行此操作时,我会收到一个警告,并以粗体友好的红色字母显示: You are running a kernel (version 3.10-3-amd64) and attempting to remove the same version. ... It is highly …
37 debian  kernel 

3
如何在内核3.7.10或更高版本上禁用USB自动挂起?
我已将HTPC从内核3.7.10更新到3.10.7,看来CONFIG_USB_SUSPEND现在已从内核选项中删除,并包含在PM中。 我面临的主要问题是我有一个外部HDD,并且在挂起和唤醒HTPC时,系统无法使用它。HDD唤醒(您可以听到它再次旋转),但是当您尝试访问安装点时,出现以下错误: ZOTAC ~ # ls /media ls: reading directory /media: Input/output error 在dmesg上: [ 253.278260] EXT4-fs warning (device sdb1): __ext4_read_dirblock:908: error reading directory block (ino 2, block 0) 在以前的内核中,设置CONFIG_USB_SUSPEND = N可以解决该问题,因为HDD可以自行处理其休眠方式,并且挂载点始终是可访问的。当HDD处于睡眠状态并且HTPC需要HDD挂载点上的东西时,HDD本身会唤醒并且可以正常运行。 现在,我尝试了以下操作,但均未成功: 手动将/ sys / bus / usb / devices / usb * / power / control更改为“ on”,而不是“ auto”。 …

3
vm.swappiness参数真正控制什么?
根据内核文档: This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase aggressiveness, lower values decrease the amount of swap. 但这有点含糊。我试图弄清楚参数最终控制什么。我知道它会调整内核尝试换页的积极程度,但是它会影响内核代码中的哪些决策过程? 它会调整内核换出之前必须访问页面多长时间吗?如果是这样,默认值60代表什么?增减1会改变多少(一个公式会很好)? 还是根据访问频率交换页面? 或者是其他东西?
36 linux  kernel  memory  swap 

2
“内核环形缓冲区”,“用户级别”,“日志级别”的概念是什么?
我经常看到“内核环缓冲区”,“用户级别”,“日志级别”和其他一些单词同时出现。例如 / var / log / dmesg包含内核环形缓冲区信息。 /var/log/kern.log仅包含任何日志级别的内核消息 /var/log/user.log包含有关所有用户级别日志的信息 他们都是关于日志的吗?它们有何关联和不同? 通过“级别”,我会想象多个级别的层次结构? “用户级别”与“用户空间”相关吗? 它们是否以某种方式与运行级别或保护环相关?
35 kernel  logs 


3
为什么在内核中而不是用户空间中实现Linux NFS服务器?
我只是想知道为什么Linux NFS服务器是在内核中而不是在用户空间应用程序中实现的? 我知道一个用户空间NFS守护程序存在,但这不是提供NFS服务器服务的标准方法。 我认为将NFS服务器作为用户空间应用程序运行将是首选方法,因为它可以通过在用户空间而不是内核中运行守护程序来提供更高的安全性。它也适合做一件事情并做得很好的通用Linux原理(并且守护程序不应成为内核的工作)。 实际上,我能想到的在内核中运行的唯一好处是上下文切换可以提高性能(这是有争议的原因)。 那么,有没有任何成文的理由说明为什么按原样实施?我尝试四处搜寻,但找不到任何东西。 似乎有很多混乱,请注意,我不是在问有关挂载文件系统的问题,我是在问有关提供网络文件系统的服务器端的问题。有一个非常明显的区别。在本地挂载文件系统需要在内核中支持文件系统(如果没有)(例如samba或unfs3)。
33 linux  kernel  nfs 

4
当我在shell中执行文件时,会发生什么情况?
所以,我以为我对此有很好的了解,但是只是进行了一次测试(以回应我不同意某人的对话),发现我的理解是有缺陷的... 尽可能详细地说明我在Shell中执行文件时会发生什么情况?我的意思是,如果我键入以下内容:如果./somefile some arguments在外壳中键入内容,然后按return键(somefile并存在于cwd中,并且我具有的读取和执行权限somefile),那么在幕后会发生什么? 我以为答案是: Shell进行syscall exec,将路径传递给somefile 内核检查somefile并查看文件的幻数,以确定它是否是处理器可以处理的格式 如果幻数表示文件是处理器可以执行的格式,则 创建一个新流程(在流程表中有一个条目) somefile被读取/映射到内存。创建一个堆栈,执行跳转到的代码的入口点somefile,并ARGV初始化为参数数组(a char**,["some","arguments"]) 如果幻数是shebang,则exec()如上所述产生一个新进程,但是使用的可执行文件是shebang引用的解释器(例如/bin/bash或/bin/perl),somefile并传递给STDIN 如果文件没有有效的幻数,则发生类似“无效文件(不良幻数):执行格式错误”的错误 但是有人告诉我,如果文件是纯文本,那么Shell会尝试执行命令(就像我键入一样bash somefile)。我不相信这一点,但我只是尝试了一下,这是正确的。因此,我显然对这里实际发生的事情有一些误解,并且想了解其机制。 当我在shell中执行文件时,会发生什么情况?(尽可能多的细节是合理的...)
32 shell  kernel  exec  shebang 

6
yum安装的内核版本与我的内核版本不同
我试图在Fedora 19中安装VMWare播放器。我遇到了一个问题,即多个用户遇到了VMware播放器找不到内核标头的问题。我已经通过安装了kernel-headers和kernel-devel软件包,yum并且出现的文件/usr/src/kernels是: 3.12.8-200.fc19.x86_64 但是,当我执行uname -rFedora内核版本时: 3.9.5-301.fc19.x86_64 这是一个不同的版本。这似乎意味着当我将VMware Player指向内核路径时,会出现以下错误: C header files matching your running kernel were not found. Refer to your distribution's documentation for installation instructions. 如何安装正确的内核,如果没有,我应该在哪里指向VMware /usr/src/kernels/<my-kernel>?
32 fedora  kernel  yum  vmware 

1
如何将USB驱动程序分配给设备
这个问题有两个方面: 首先,如何手动从USB设备上拆下驱动程序并连接其他驱动程序?例如,我有一个设备,在连接后会自动使用USB存储驱动程序。 usbview输出 Vendor Id: xxxx Product Id: xxxx ... Number of Interfaces: 2 Interface Number: 0 Name: usb-storage Number of Endpoints: 2 ... Interface Number: 1 Name: (none) Number of Endpoints: 2 ... 我不想使用usb-storage驱动程序,因此在我的应用程序中,我使用libusb库来分离usb-storage驱动程序,然后声明接口。然后,我可以与USB设备和主机Linux系统上运行的应用程序之间来回发送数据。 如何在应用程序外部手动分离驱动程序? 其次,如何自动分配驱动程序以附加在设备插件上?我目前有一个udev规则设置来自动设置设备权限: SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", MODE="0666" 我可以使用udev规则将驱动程序分配给USB设备上的特定接口吗?例如,如果我希望在接口0而不是usb-storage上自动使用usbnet模块,是否可以在udev中使用?

12
如何调整Linux桌面以提高响应速度?
我的经验是,在物理内存耗尽之前,Linux可以正常工作。一旦使用交换空间,性能就会严重下降,GUI会变得无响应。 这个问题不仅限于特定的发行版或台式机,因为我已经尝试了一些(问题仍然存在)。 我该怎么办?
30 linux  kernel  performance  io  swap 

3
Linux Kernel项目如何在早期阶段跟踪错误?
我们都知道Linus Torvalds是因为Bitkeeper的问题而创建了Git。(至少对我而言)不知道的是,直到那时如何跟踪问题/票证/错误?我尝试过,但没有得到任何有趣的东西。我唯一能就此主题进行的讨论是Linus与使用Bugzilla共享担忧的地方。 推测: -在最初阶段,人们追踪错误的最简单方法是将票放入其自己的分支中,但可以肯定的是,很快它不会因噪音超过好错误而扩大规模。 我已经看过并使用过Bugzilla,除非您有时会知道正确的“关键字”,否则您会很困惑。注意:我对早期(1991-1995年)如何用来跟踪问题特别感兴趣。 我确实看过两个线程,“ Kernel SCM saga ”和“ Trivia:git何时自托管? ”,但是这些都没有提到早期的内核错误跟踪。 我四处搜寻,但无法获得1991-1992年间提供的任何FOSS错误跟踪软件。Bugzilla,Request-tracker和其他工具出现的时间要晚得多,因此它们似乎已经淘汰了。 关键问题 那时候,Linus,子系统维护者和用户如何报告和跟踪错误? 他们是否使用了某些错误跟踪软件,制作了一系列错误并手动提出了有关错误的问题和讨论(这样做会很昂贵且很痛苦)还是只使用电子邮件。 后来,Bugzilla出现了(1998年第一版),这似乎是随后报告错误的主要方法。 希望对过去的事情有一个更清晰的了解。
29 linux  kernel  git  history 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.