我们在 Windows 7 计算机上的 VirtualBox 中运行 CentOS 版本 6.3 时遇到问题。症状如下:
几个小时甚至几天内一切正常。然后发生了一些破坏系统的事情。
发生这种情况后我们还能做什么:
什么不起作用:
当发生这种情况时,我们在服务器上看到的内容如下:
在 /var/log/messages 中我们得到以下内容:
Jun 14 01:10:48 devvm kernel: e1000 0000:00:03.0: eth0: Detected Tx Unit Hang
Jun 14 01:10:48 devvm kernel: Tx Queue <0>
Jun 14 01:10:48 devvm kernel: TDH <2e>
Jun 14 01:10:48 …Run Code Online (Sandbox Code Playgroud) 假设我将正在运行的 Debian 系统的内核更新apt-get upgrade linux-image-amd64为更高的次版本号(例如,5.10.10更新为5.10.11)。我是否必须重新启动 Debian 服务器才能使更新生效?
我注意到在制作 Linux 内核时,我的处理器总共只有大约 50% 的时间在使用。
我通常先制作内核,然后制作模块。
我刚刚在一个终端中启动了一个 make bzImage 并在另一个终端中启动了一个 make 模块,并且看到我的两个处理器都得到了充分利用。我希望总编译时间会快很多,因为我是并行编译而不是串行编译。
是否有任何“gotya's”使这不安全?
主要来自 Windows 背景,在我看来,在 Linux 中更新内核与在 Windows 中修补操作系统本质上是相同的想法。
是这种情况吗?有什么共同点和不同点?
我需要支持 realtek rtl8139 网卡 - 这是否包含在现代 (> 3.0) linux 内核中?我必须加载任何模块或安装任何东西吗?
我能够使用旧的 2.6.x 内核在 VPS 上编译具有 1 GiB RAM 的程序。但是当我尝试在具有 1.1 GiB RAM 和 3.9.x 内核的 VPS 上编译它时,编译器总是被 OOM Killer 杀死。
如何让 OOM 更被动?
我正在用 python 开发一个解析/proc/net/tcp信息的程序,但不幸的是,在我这样做的时候,我看到了一件奇怪的事情。
实际上,当套接字TIME_WAIT状态发生变化时,会丢失其 inode 编号,而且我不知道此套接字的所有者是谁。
我阅读了一些关于这个TIME_WAIT问题的文档,我了解到连接实际上已经完成,它保持等待只是为了保证数据传输。
有人对此有所了解吗?
我注册了一个 Linux VPS。这个 VPS 带有一个较旧的 Linux 内核,我想升级它,因为我想运行的一些软件需要更新的版本。这是输出uname -a:
Linux florence 2.6.32-042stab120.11 #1 SMP Wed Nov 16 12:05:45 MSK 2016 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
这是一个全新的 Ubuntu 16.04 镜像。(主机是http://ssdnodes.com)。这些是我以 root 身份按顺序运行的所有命令(这是我试图遵循的教程):
apt-get update
apt-get upgrade -y
apt-get autoremove -y
mkdir kernel_update
cd kernel_update/
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900_4.9.0-040900.201612111631_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb
dpkg -i linux-*.deb
Run Code Online (Sandbox Code Playgroud)
前两个包安装正常。当我尝试选择第三个包时,出现此错误:
Unpacking linux-image-4.8.15-040815-generic (4.8.15-040815.201612151231) ...
Setting up linux-headers-4.8.15-040815 (4.8.15-040815.201612151231) ...
Setting up linux-image-4.8.15-040815-generic (4.8.15-040815.201612151231) ...
Running depmod.
update-initramfs: deferring update (hook will be called …Run Code Online (Sandbox Code Playgroud) 长话短说,我想验证 Centos 是否实际启动/使用了我在 /etc/grub.conf 中指定的内核标志/参数
是否有我可以键入的命令来显示当前正在运行的内核的详细信息(包括启用的参数)?
uname -a 只显示版本和主机名。
谢谢,
米
linux的哪一部分负责在接口之间“转发”流量?
我知道“ /proc/sys/net/ipv4/ip_forward ”,但是操作系统、内核或模块的哪一部分实际上正在检查此设置并决定是否执行转发?
内核是否坐在那里并且根据路由表无意识地将任何接收到的未寻址到这台机器的数据包转发到另一个接口?
这是我一直想深入了解的一个非常基本的问题。
嗨,有人可以帮助我理解这一点。
在 Centos 6.2 上,它的内核显示为 2.6.32-220.el6.x86_64
而在 Ubuntu 12.04 上它显示为3.2.0-23-generic.
3.0 内核是最新的内核之一,Ubuntu 正在使用它,而 Centos 使用的是旧内核。为什么会这样?
旧内核能否提供新内核所能提供的所有新功能?他们为什么不升级到3.0?
我今天在运行正常运行时间时注意到我的服务器已经运行了 365 天。这让我谷歌“我应该定期重启我的服务器”。这让我知道是的,我应该在任何内核更新后重新启动,否则新内核不会变为活动状态。我想这很明显,但不是我今天之前知道的。我一直关注我的更新,但从不重启...
……现在我有点害怕了。
不久前我重新启动了一个不同的盒子,但由于一些 grub conf 问题,它无法恢复。在从救援模式修复它失败后(我不知道我在做什么),我选择重新安装盒子 - 反正它没有太多东西,这样做很简单。
在我重新启动之前,有什么我应该检查的(在配置文件等中)可能会最小化类似失败的机会?
试图避免一些问题,所以我一直在努力学习 vm。在内核调整中,但即使在谷歌搜索之后仍然有点困惑。background_ratio 越低,冲洗越快?较低的dirty_ratio是保留的较少脏的内存,对
vm.dirty_ratio = 20
vm.dirty_background_ratio = 1
Run Code Online (Sandbox Code Playgroud)
或者
vm.dirty_ratio = 60
vm.dirty_background_ratio = 20
Run Code Online (Sandbox Code Playgroud)
或者
vm.dirty_ratio = 20
vm.dirty_background_ratio = 10
Run Code Online (Sandbox Code Playgroud)
或者
vm.dirty_ratio = 20
vm.dirty_background_ratio = 5
Run Code Online (Sandbox Code Playgroud) kernel ×13
linux ×9
linux-kernel ×3
centos ×2
debian ×2
ubuntu ×2
centos6 ×1
drivers ×1
make ×1
networking ×1
oom ×1
performance ×1
realtek ×1
redhat ×1
routing ×1
socket ×1
tcp ×1
update ×1
virtualbox ×1