• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

RTNETLINK answers: Cannot allocate memory (CentOS 6 VM)

dalearyous

Senior member
my virtual machine was working fine yesterday, this morning it boots with network error and while i can remote control the machine just fine using vsphere's VM console, i cannot access the machine on the network because i do this:

Code:
ifup eth0
i get this: RTNETLINK answers: Cannot allocate memory

in the top right of the desktop i have an x on the network symbol and when i click on it it says wired network, device not managed.

if i set NM_CONTROLLED = yes
i get this when i do "service network restart"
connection failed, device not managed by network manager or unavailable and the wired network shows disconnected

if i do system-config-network and hit device configuration it pulls up eth0 (eth0) - Advanced Micro Devices [AMD] ... nothing about my server is AMD, its an HP Proliant with Xeon CPUs

so confused right now. help me
 
If you do want NM_CONTROLLED, then you don't use 'network'. I would do:
Code:
service NetworkManager stop
chkconfig NetworkManager off
service network stop
chkconfig network on
sed -i "/NM_CONTROLLED/ s/yes/no/" /etc/sysconfig/network-scripts/ifcfg-eth0
service network start
yum remove NetworkManager
Please post the contents of /etc/sysconfig/network-scripts/ifcfg-eth0.

Do you have automatic updates on? 6.3 was just released, so that could explain sudden and recent change.
 
service network start gave this error:
Determining IP information for eth0 ...RTNETLINK answers: Cannot allocate memory

ifcfg-eth0:
Code:
DEVICE=eth0
BOOTPROTO=dhcp
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
UUID="string of characters"
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME="System eth0"
HWADDR=the mac address
PEERDNS=yes
PEERROUTES=yes
LAST_CONNECT=1342009075
USERCTL=no

no i started with version 6.3
 
1: lo: <LOOPBACK, UP, LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0 <BROADCAST, MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:0c:29:90:f0:** brd ff:ff:ff:ff:ff:ff


02:00.0 Ethernet controller [0200]: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] [1022:2000] (rev 10)


driver: vmxnet
version 2.0.7.2
firmeware-version: N/A
bus-info: 0000:02:00.0
 
How about:
Code:
modprobe -c | grep 1022.*2000
I do get "alias pci:v00001022d00002000sv*sd*bc*sc*i* pcnet32" indicating that the driver for the NIC should be pcnet32. (On kernel-2.6.32-279.el6.x86_64) Can you choose what NIC is emulated by the VM platform?
 
Last edited:
alias pic"v00001022d00002000sv*sd*bc*sc*i* pcnet32
alias pic"v00001022d00002000sv*sd*bc*sc*i* vmxnet

i don't think so. the vm platform is vmware's esxi

i have never had an issue like this before and this is my second server running same platform.
 
Is there anything in dmesg? It sounds like a driver issue to me, even though you wouldn't think so since the hardware and drivers are standard with VMware.
 
Errors?

The dmesg buffer holds all of the kernel logs, so one would hope that if it's really having issues allocating memory there would be some kind of log entry stating that.
 
alias pic"v00001022d00002000sv*sd*bc*sc*i* pcnet32
alias pic"v00001022d00002000sv*sd*bc*sc*i* vmxnet

i don't think so. the vm platform is vmware's esxi
I would guess that vmxnet is a driver provided by vmware. It is strange that it uses same pci-id as some different driver. I would rule out one detail by blacklisting the pcnet32.
Code:
echo "blacklist pcnet32" > /etc/modprobe.d/we-have-no-amd.conf
 
I would guess that vmxnet is a driver provided by vmware. It is strange that it uses same pci-id as some different driver. I would rule out one detail by blacklisting the pcnet32.
Code:
echo "blacklist pcnet32" > /etc/modprobe.d/we-have-no-amd.conf

It's like that on purpose so that the pcnet32 driver be used for connectivity before you install the VMware tools and for OSes without VMware tools. I believe ESXi also lets you choose Intel for the emulated NIC.
 
It's like that on purpose so that the pcnet32 driver be used for connectivity before you install the VMware tools and for OSes without VMware tools. I believe ESXi also lets you choose Intel for the emulated NIC.
Gotcha. Similarly, KVM can emulate several NICs, but in addition offers a "virtio" mode, which requires its own KVM-specific driver.
 
Gotcha. Similarly, KVM can emulate several NICs, but in addition offers a "virtio" mode, which requires its own KVM-specific driver.

VMware can also present a few other models, such as e1000 for some older OSes not supported by the VMware tools but you need to install the VMware tools, which include the vmxnet driver, for proper performance and support.
 
Back
Top