Articles of linux kernel

Munin“可用熵”在使用地址空间布局随机化时

刚刚configuration了Munin来login我的gentoo服务器(强化configuration文件)的统计信息,我注意到我的“可用熵”正好在200-300范围内。 这似乎是低,所以我用手动检查它手动 $ cat /proc/sys/kernel/random/entropy_avail 3544 奇。 在慕尼黑一直非常低的值,手动检查时实际上填满了。 经过一段时间的思考之后,我得出的结论是,问题可能是我正在使用Adress空间布局随机化,它使用运行命令/程序时的熵。 由于Munin运行一整套程序,所有的熵都用完了,然后Munin测量了有多less熵,导致了低值。 有人对这个有经验么? 这怎么可以避免?

我可以从Tomcat的内存中提取私钥吗?

我正在运行Tomcat 6.为了尝试修复一些证书链问题,我正在搞乱密钥库,而且我不小心把生产版本,而不是我正在使用的.new文件。 现在,Tomcat仍在运行,仍然能够提供HTTPS连接(我在Web浏览器中testing过)。 显然,必须有一个它仍然可以访问的私钥副本。 我的第一个想法是检查/proc/PID/fd ,所以我跑了sudo lsof | grep tomcat sudo lsof | grep tomcat 。 这适当地返回打开文件的列表: $ sudo lsof | head -1; sudo lsof | grep tomcat COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 2599 root cwd DIR 202,1 4096 413699 /usr/share/apache-tomcat-6.0.44/bin java 2599 root mem REG 202,1 51715 413777 /usr/share/apache-tomcat-6.0.44/lib/tomcat-i18n-fr.jar […]

回声3> / proc / sys / vm / drop_caches更快的替代方法

在可用内存巨大的系统上:12TB的RAM echo 3 > /proc/sys/vm/drop_caches 需要半小时才能完成。 有谁知道更快的替代drop_caches ? 我在这台服务器上使用RHEL 6.5。 你知道更新的RHEL(如6.6+或7+)是否可以提高drop_caches速度吗?

Linux内核崩溃 – 有什么想法?

在轻微加载的vps(debian squeeze kernel 2.6.38-bpo.2-amd64,2GB,SSD)上得到这些失控的条件 – 最高负载是没有什么,然后跳到30.0,一切都停下来。 我猜Xen的hypervisor启动和限制的东西 – 供应商控制面板显示cpu @ 175%。 几分钟后,CPU和负载将回落到名义水平,事情恢复正常。 这里是最新的kern.log的副本 Oct 11 20:10:34 stage kernel: [348092.046302] Clocksource tsc unstable (delta = -8590343613 ns) Oct 11 20:16:55 stage kernel: [348311.490907] INFO: task bounce:23869 blocked for more than 120 seconds. Oct 11 20:16:56 stage kernel: [348311.490918] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Oct […]

什么是drop_caches玩的interrest?

我已经看到系统pipe理员正在使用/ proc / sys / vm / drop_caches(从cron的echo 3到这个文件)来释放caching。 这样做有没有真正的停顿? 干净的caching不是在需要的时候回收的吗? 谢谢。

在Redhat Linux下无法识别的进程

在服务器上发出ps ax命令后,我看到以下进程,我无法识别。 谷歌search他们没有任何用处。 有人知道这是什么,或者我会如何跟踪他们? 该系统是在VMware上运行的虚拟机。 我不确定什么版本,因为我不控制的基础设施,但我问是否有任何虚拟机快照或备份正在发生,他们说不。 系统是红帽企业Linux服务器版本5.4(Tikanga)内核是2.6.18-164.el5 系统已重新启动,但这些进程仍然存在。 7158 ? S< 0:00 [WRITE_COW_THR0] 7159 ? S< 0:00 [ISSUE_WR_THR0] 7160 ? S< 0:00 [SNAP_R_THR0] 7161 ? S< 0:00 [WRITE_COW_THR1] 7162 ? S< 0:00 [ISSUE_WR_THR1] 7163 ? S< 0:00 [SNAP_R_THR1] 7164 ? S< 0:00 [WRITE_COW_THR2] 7165 ? S< 0:00 [ISSUE_WR_THR2] 7166 ? S< 0:00 [SNAP_R_THR2] 7167 ? […]

Nginx同时使用writev()和sendfile()

我注意到,当提供图像时,Nginx使用writev()从Firefox等浏览器调用时发送图像,但使用sendfile()在wgetting图像时发送图像。 任何想法为什么它使用两个? 我有'发送文件; '在configuration中。 任何地方都找不到好的答案。 谢谢!

在ubuntu服务器中安装2TB磁盘,dmesg将其报告为9444732965540666 MB

我已经在戴尔PowerEdge硬件上运行了一个老化的Linux服务器,配有一个SAS 5IR RAID控制器。 它具有一对RAID 1configuration的SAS 146Gb磁盘,具有操作系统和其他软件。 我需要将大量的存储添加到服务器。 磁盘上的数据并不重要,在预算有限的情况下,我决定将大的2TB SATA磁盘添加到板上未使用的SATA接口。 系统看到磁盘,但是dmesg报告: scsi 5:0:1:0: Direct-Access ATA WDC WD2002FAEX-0 05.0 PQ: 0 ANSI: 5 sd 5:0:1:0: [sdb] Very big device. Trying to use READ CAPACITY(16). sd 5:0:1:0: [sdb] 18446744073321613488 512-byte hardware sectors (9444732965540666 MB) sd 5:0:1:0: [sdb] Write Protect is off sd 5:0:1:0: [sdb] Mode Sense: 00 3a […]

使用ImageMagick转换实用程序和服务器的Linux高负载冻结(附带blktrack输出)

我使用ImageMagick将JPG转换为TIF文件,并使用Imagemagick的限制选项,如下所示: /usr/bin/convert -limit memory 256 -limit map 512 subjectfile.jpg -colorspace Gray -depth 8 -resample 200×200 output.tif 当我运行上面的命令时,服务器上的负载突然变得非常高,CPU在大部分时间处于等待状态,如下所示: Tasks: 245 total, 3 running, 241 sleeping, 0 stopped, 1 zombie Cpu0 : 0.0%us, 0.0%sy, 0.0%ni, 0.0%id,100.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 1.0%us, 1.0%sy, 0.0%ni, 0.0%id, 93.1%wa, 0.0%hi, 5.0%si, […]

为什么Linux在不正确的接口上应答ARP?

我有以下Linuxnetworking设置:有一个eth10networking接口,分配地址为10.11.0.1/24。 然后有一个tap0networking接口,分配了虚拟地址0.0.0.1/32(我分配了一个虚拟地址来使接口向上),并且来自/到那个的stream量由最初创buildtap0接口的用户空间程序控制。 在tap0接口的另一端,有一个用户空间程序通过原始套接字使用它来查找ARP请求并构造一个响应。 现在,当用户空间程序构build一个请求10.11.0.1的ARP请求时,我期望另一个原始套接字用户空间程序回复它。 但是,我得到了两个答复:一个来自原始套接字程序,另一个来自Linux内核。 显然,Linux内核推断10.11.0.1是属于它的地址,因此回复。 但是,10.11.0.1不是tap0接口的地址。 它是eth10接口的地址。 我的问题是:为什么Linux内核会这样做? 有什么办法来禁用在错误的界面上的ARP答复? 我对这个问题的临时解决scheme是使用除10.11.0.1之外的其他地址作为原始套接字/ tap0目的。 但是,因为这个系统应该是可以在任何开发机器上运行的应用程序的系统级testing,所以我不能保证与其他接口没有IP地址冲突。 因此,在错误的接口上禁用ARP回复将会很好。 解决这个问题的另一种方法是使用netmap,为用户空间应用程序保留整个接口,防止内核在用户空间应用程序运行时将其用于任何事情。 但是我希望我的testing在没有netmap的情况下运行。