Articles of linux

突然错误='不能分配内存'(errno = 12)

所以今天早上我注意到我的网站已经closures了,在我的服务器上,看到networking服务器已经停止。 当我尝试再次启动时,我得到这个错误 start -Dhttp.port=80 -Dapplication.secret=********** [info] Wrote /home/Jakob/Apps/Botlanegg/target/scala-2.11/botlanegg_2.11-1.0.pom (Starting server. Type Ctrl+D to exit logs, the server will remain in background) Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000d5550000, 715849728, 0) failed; error='Cannot allocate memory' (errno=12) # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed […]

是否有使用Prelink的一点?

多年来,我使用各种各样的linux操作系统,已经进入了使用prelink的习惯,以加快应用程序的加载速度。 但是,每次重新安装包时,运行预链接的好处都会被否定,因为它,它的所有依赖项及其依赖项都需要重新链接。 这种预先链接可能会导致多个问题,其中之一是二进制MD5无效,这对于比较MD5与上游修订相比是有问题的,或者使用MD5来确定二进制文件是否已经改变,因此不希望在去除软件包时被清除。 最近,电脑已经快了很多,利润预收率现在几乎不值得注意。 使用前链还是一个理性的概念,还是可以随便丢弃,留下来作为过去的时代?

Linux交换 – 调整内核虚拟机设置

在阅读本文之前,请注意,我了解caching的好处。 我熟悉未使用的公羊是浪费公羊的教条。 这个问题是我从以前的问题中改编的: 删除LinuxcachingRAM 在那个问题上,我很好奇如何调整我的服务器如何使用和caching内存。 该系统是相当dynamic的,所以我相信 ,caching的文件并没有给我带来太多的收益。 此外,我们在服务器上的代码必须在短时间内快速访问大量的内存来处理video文件, 我相信我会看到直接交付内存,而不是从caching中清除,然后把它关掉。 我想知道你是否有经验在下面的文件中调整默认值60(这恰好在Ubuntu服务器上): /proc/sys/vm/swappiness 如果是的话,你看到了什么影响。 如果我用30replace默认值60,我会看到更less的交换和更多的重用旧的caching? 我是否接近0或100来减less交换并增加caching的重用? 最后,谁知道为什么默认设置为60? 注意:如果接近于0,Linux将更喜欢将应用程序保存在RAM中,而不是增长caching。 如果接近100,Linux会倾向于交换应用程序,并尽可能地扩大caching。 默认是健康的60. – 感谢下面的链接,3dInfluence。

Linux上最大的套接字数量

看来,服务器是有限的〜32720sockets…我已经尝试了每一个已知的变化,以提高这个限制。 但服务器保持限制在32720打开套接字,即使仍然有4Go的空闲内存和80%的空闲CPU … 这是configuration ~# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 63931 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 798621 pipe size (512 bytes, -p) 8 POSIX […]

如何检查fsck的结果,在远程机器上启动,运行?

我使用Ubuntu 9.10在远程机器上执行touch /forcefsck && reboot 。 我如何才能找出是否有任何错误更正? 我怎么知道fsck的结果是什么? 谢谢

在/etc/init.d脚本中调用守护进程是阻塞的,而不是在后台运行

我有一个Perl脚本,我想要守护进程。 基本上这个perl脚本会每隔30秒读取一个目录,读取它find的文件,然后处理数据。 为了简单起见,可以考虑下面的Perl脚本(称为synpipe_server,这个脚本在/usr/sbin/有一个符号链接): #!/usr/bin/perl use strict; use warnings; my $continue = 1; $SIG{'TERM'} = sub { $continue = 0; print "Caught TERM signal\n"; }; $SIG{'INT'} = sub { $continue = 0; print "Caught INT signal\n"; }; my $i = 0; while ($continue) { #do stuff print "Hello, I am running " . ++$i . "\n"; […]

linux路由错误?

自从一段时间以来,我一直在努力解决这个不容易重现的问题。 我正在使用Linux内核v3.1.0,有时路由到几个IP地址不起作用。 看来发生的事情是,内核并不是将数据包发送到网关,而是将目标地址视为本地,并尝试通过ARP获取其MAC地址。 例如,现在我的IP地址是172.16.1.104/24,网关是172.16.1.254: # ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:1B:63:97:FC:DC inet addr:172.16.1.104 Bcast:172.16.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:230772 errors:0 dropped:0 overruns:0 frame:0 TX packets:171013 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:191879370 (182.9 Mb) TX bytes:47173253 (44.9 Mb) Interrupt:17 # route -n Kernel IP routing table Destination Gateway Genmask […]

刷新进程消耗太多的CPU

服务器是EC2实例,它代表从HTTPD将文件保存到NAS(NFS)。 flush-0:32等进程消耗CPU的90%以上,平均负载为65.50,64.02,66.59。 从图中可以看出,每天增加的数量为4个,初始平均负荷为1.01,2.02,1.80。 我在Load Balancer下添加了另一个类似的实例,它的CPU利用率只有大约6%ATM。 这些冲洗过程究竟做了什么? 也许我们应该closuresNFS属性caching如果客户端只需要写入数据? 那可能是因为数据包碎片? 这里是一些nfsstat -s -4统计信息: ================================================================= Server 0: Server rpc stats: calls badcalls badauth badclnt xdrcall 715054137 0 0 0 0 Server nfs v4: null compound 993 0% 715053143 99% Server nfs v4 operations: op0-unused op1-unused op2-future access close commit 0 0% 0 0% 0 0% 143229323 6% 78092765 […]

第二个IP地址在相同的接口上,但在不同的子网上

在CentOS 5.7 64bit中是否有可能在另一个子网上的一个接口(例如eth0)上有第二个IP地址 – 别名接口configuration? 这里是eth0的原始configuration more etc/sysconfig/network-scripts/ifcfg-eth0 # Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.91.255 HWADDR=00:1D:09:FE:DA:04 IPADDR=192.168.91.250 NETMASK=255.255.255.0 NETWORK=192.168.91.0 ONBOOT=yes 这里是eth0:0的configuration more etc/sysconfig/network-scripts/ifcfg-eth0:0 # Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express DEVICE=eth0:0 BOOTPROTO=static BROADCAST=10.10.191.255 DNS1=10.10.15.161 DNS2=10.10.18.36 GATEWAY=10.10.191.254 HWADDR=00:1D:09:FE:DA:04 IPADDR=10.10.191.210 NETMASK=255.255.255.0 NETWORK=10.39.191.0 ONPARENT=yes 由于存在两个不同的网关,resolv.conf文件应该如何更改? 还需要其他更改吗?

磁盘IOPS和sar tps之间的关系

我试图估计在32位CentOS 6.2上运行的应用程序的IOPS要求。 我开始在一台装有SATA磁盘的机器上进行一些测量,我对由sar测量的IOPS和tps之间的差异感到困惑。 据维基百科 SATA磁盘应该执行75-100 IOPS。 Ioping实用程序似乎证实了这个随机访问testing: # ./ioping -R /dev/sda — /dev/sda (device 931.0 Gb) ioping statistics — 279 requests completed in 3.0 s, 92 iops, 371.3 kb/s min/avg/max/mdev = 2.7 ms / 10.8 ms / 130.8 ms / 7.9 ms 但sar生成的tps值要高得多(/ dev / sda): # iostat 1 avg-cpu: %user %nice %system %iowait %steal […]