Poor performance running Debian router

Discussion in 'Linux Networking' started by Preston Price, Apr 25, 2004.

  1. Hey guys. I've beaten my head against the wall for a few weeks on this and I
    am about ready to give up.

    I have a Debian box (clean install) with 2 nics.
    First NIC is integrated into the mobo (nforce chipset) and uses the nvnet.o
    module.
    Second NIC is 3com 3C905 and uses the 3c59x module.

    I have the 3Com as my external connection and the nforce as internal.
    Everything is great until I install ipmasq. After that, my CPU system load
    is constantly around 70% and when I ssh into the box it runs dog slow and
    the SSH daemon starts sucking up like 10% CPU.

    I cant figure out what process is taking up the 70% because top doesnt tell
    me anything, but it doenst happen until I start routing.

    I'd appreciate any help you guys can offer!

    -Preston
     
    Preston Price, Apr 25, 2004
    #1
    1. Advertisements

  2. More info please :

    - ifconfig outpute
    - netstat -rn output
    - cpu freq, ram, ...
    - network connexion : hub, switch, modem type, ...

    Did you check the speed & duplex configuration of your nic ? (mii-tools
    output), because you may have a system load du to resend ethernet packet
    (caused by too much collision).



    Regards
     
    Antoine EMERIT, Apr 25, 2004
    #2
    1. Advertisements

  3. Okay here's what I've got:
    AMD XP1600+
    256M DDR RAM (Crucial)
    3Com NIC (eth0)
    NVIDIA integrated NIC (eth1)

    ifconfig output:
    eth0 Link encap:Ethernet HWaddr 00:60:97:B1:A5:E4
    inet addr:24.119.2.xxx Bcast:255.255.255.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:13769 errors:0 dropped:0 overruns:0 frame:0
    TX packets:2548 errors:0 dropped:0 overruns:0 carrier:9
    collisions:0 txqueuelen:100
    RX bytes:3228630 (3.0 MiB) TX bytes:397654 (388.3 KiB)
    Interrupt:5 Base address:0xb800

    eth1 Link encap:Ethernet HWaddr 00:E0:18:B0:D5:99
    inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:2689 errors:0 dropped:0 overruns:0 frame:0
    TX packets:2772 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:412601 (402.9 KiB) TX bytes:2566447 (2.4 MiB)
    Interrupt:10

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:1 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:112 (112.0 b) TX bytes:112 (112.0 b)


    netstat -rn output:
    Destination Gateway Genmask Flags MSS Window irtt
    Iface
    24.119.2.0 0.0.0.0 255.255.255.0 U 40 0 0
    eth0
    192.168.0.0 0.0.0.0 255.255.255.0 U 40 0 0
    eth1
    0.0.0.0 24.119.2.1 0.0.0.0 UG 40 0 0
    eth0

    Network setup:
    CableModem -> eth0 on router box.
    Windows box -> eth1 on router box.

    mii-tool output:
    eth0: negotiated 100baseTx-FD, link ok
    eth1: negotiated 100baseTx-FD, link ok

    Also, here is the top few lines from 'top' (I just reconfigured it to do
    routing again before sending this)
    19:22:53 up 2 days, 24 min, 2 users, load average: 0.06, 0.01, 0.00
    25 processes: 23 sleeping, 2 running, 0 zombie, 0 stopped
    CPU states: 0.0% user, 22.4% system, 0.0% nice, 77.6% idle
    Mem: 223656K total, 77620K used, 146036K free, 5004K buffers
    Swap: 457844K total, 0K used, 457844K free, 43652K cached

    PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
    2672 nacrotek 14 0 1768 1768 1596 R 3.8 0.7 0:38 sshd

    The SSHD process is actually low on the CPU hit right now, it will go up to
    10-20% depending on how quickly I type. That 3.8% is just from SSHing in and
    running top.
    The other ~20% is from loading up Google.

    Thanks for the help!

    -Preston
     
    Preston Price, Apr 28, 2004
    #3
  4. Hi Preston,
    ^^^ ^^^^^^^^^^^^^^^

    Looks kind of weird for me.
    At least eth0 should have a valid IP and a reasonable broadcast address
    like 24.119.2.255 (if BCast can be used in this interface anyway).

    Is eth0 set up by dhcpd via your cable modem?
    Or do you set the values locally?

    Ciao

    Ralf
     
    Ralf Herrmann, Apr 28, 2004
    #4
  5. Hmm, I didnt notice that.... The IP is obtained via DHCP from the Cable
    Modem.
    I didnt list my full IP here for security reasons.

    I just looked at my redhat box (set up as a router until I get my debian box
    figured out) and it has the same 255.255.255.255 Bcast but it doesnt suffer
    from the same CPU sucking malady.

    Thanks

    -Preston
     
    Preston Price, Apr 29, 2004
    #5
  6. Hi Preston,
    Ok, when i had sent the post, this reason also came into my mind;-)
    Guess then there is no Broadcasting over your cable modem.
    Should be ok, i just wondered.

    Sorry it didn't help you.

    Another thing i would point your attention to is your routing table.
    I'm missing an entry for loop back routing, i.e.

    127.0.0.1 0.0.0.0 255.0.0.0 [......] lo

    or

    127.0.0.1 127.0.0.1 255.0.0.0 [......] lo

    ...and i'm confused about those 0.0.0.0-entries in gateway fields for eth0/eth1.
    ok, this may be a system dependend thing, but local interfaces usually show
    127.0.0.1 as their gateway....but 0.0.0.0 might be ok for your distro.

    CU

    Ralf
     
    Ralf Herrmann, Apr 29, 2004
    #6
  7. 255.255.255.255 is the "dhcp broadcast".

    This is a local only broadcast address used to get an ip/netmask (and so
    a broadcast) address, when the host has not get it's address yet from the
    dhcp server.

    This address is not supposed to be assigned to a specific client
    interface. It's supposed to be aliased to the dhcp server interface
    listening for client request.

    But if you only have one host in front of the cable modem it shouldn't
    hurt much. I supposed that this broadcast address is seted by the cable
    modem to simplify reconnect.

    More than 22% system cpu load on a AMD XP1600+, when you do nothing
    important ! it's seems to be too much. Your kernel it doing somethink
    that load it like retransmeeting network packet or waiting physical link.
    How much carrier did you have each minute ?

    It may load the system cpu (above comment) when you have a bad physical
    link. And "carrier" means that you have an enthernet cable problem.

    It you have a direct nic<->modem connection, try to insert a hub or a
    switch.


    Regards
     
    Antoine EMERIT, Apr 30, 2004
    #7
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.