Ankündigung

Einklappen
Keine Ankündigung bisher.

"Zu viele offene Dateien" im LOG - Openhab funktioniert nicht mehr

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    "Zu viele offene Dateien" im LOG - Openhab funktioniert nicht mehr

    Hallo zusammen,

    ich musste durch einen Hardwaredefekt meines Pi1 von Openhab1 + EIBD auf Pi3 + Openhab2 + KNXD umsteigen.

    Ich habe KNXD anhand diese Artikels (http://michlstechblog.info/blog/rasp...ter-with-knxd/)
    Danach funktionierte der Testaufruf (knxtool vbusmonitor1 ip:localhost)

    Openhab war schnell aufgesetzt (apt-get install). Die KNX Verbindung lief erst nach mehreren Versuchen und dann auch NUR im „Router“ Modus.

    knx.cfg :

    # KNX gateway IP address
    # (optional, if serialPort or connection type 'ROUTER' is specified)
    ip=224.0.23.12


    # Local KNX Binding bus address.
    # Use it, when two or more openHAB Instances are connected to the same KNX bus.
    # (optional, defaults to 0.0.0)
    #busaddr=

    # Ignore local KNX Events, prevents internal events coming from
    # 'openHAB event bus' a second time to be sent back to the 'openHAB event bus'.
    # Note: To send back events second time is a Bug, but for backward compatibility, the behavior is not changed.
    # For new installations, its recommend to set "ignorelocalevents=true"
    # (optional, defaults to false)
    #ignorelocalevents=

    # KNX IP connection type. Could be either TUNNEL or ROUTER (optional, defaults to TUNNEL)
    # Note: If you cannot get the ROUTER mode working (even if it claims it is connected),
    # use TUNNEL mode instead with setting both the ip of the KNX gateway and the localIp.
    #add by HP 15.01.
    type=ROUTER

    # KNX gateway port (optional, defaults to 3671)
    # Note: If you use eibd, setting to 6720
    ##by HP disabled 15.01. # port=6720

    # Local endpoint to specify the multicast interface, no port is used (optional)
    #add by HP 15.01.
    #localIp=127.0.0.1

    # Serial port of FT1.2 KNX interface (ignored, if ip is specified)
    # Valid values are e.g. COM1 for Windows and /dev/ttyS0 or /dev/ttyUSB0 for Linux
    #serialPort=

    # Pause in milliseconds between two read requests on the KNX bus during
    # initialization (optional, defaults to 50)
    #pause=

    # Timeout in milliseconds to wait for a response from the KNX bus (optional,
    # defaults to 10000)
    #timeout

    # Number of read retries while initialization items from the KNX bus (optional,
    # defaults to 3)
    #readRetries

    # Seconds between connect retries when KNX link has been lost
    # 0 means never retry, it will only reconnect on next write or read request
    # Note: without periodic retries all events will be lost up to the next read/write
    # request
    # (optional, default is 0)
    #autoReconnectPeriod=30

    ### Auto refresh feature
    # Number of entries permissible in the item refresher queue.
    # (optional, defaults to 10000)
    #maxRefreshQueueEntries=

    # Number of parallel threads for refreshing items. (optional, defaults to 5)
    #numberOfThreads=

    # Seconds to wait for an orderly shutdown of the auto refresher's
    # ScheduledExecutorService. (optional, defaults to 5)
    #scheduledExecutorServiceShutdownTimeoutString=

    # Use NAT (Network Address Translation)
    # (optional; defaults to false)
    #useNAT=true



    Jetzt habe ich das folgende Problem:

    Nach einigen Stunden Nutzung Antwortet die Anwendung nicht mehr, und im openhab.log find ich in einer Minute 882 mal die Meldung
    „ [WARN ] [eclipse.jetty.server.ServerConnector] - java.io.IOException: Zu viele offene Dateien“
    Dann muss ich Openhab neu starten und es funktioniert wieder für einige Stunden.

    Ich habe nun schon folgende Infos gesammelt:

    netstat -a | grep -c STREAM
    269

    ulimit -n
    65536


    Hat jemand eine Ahnung wie ich dir Ursache ergründe und das Problem beheben kann??

    Vielen Dank.

    Gruß rolli20up
    Zuletzt geändert von rolli20up; 20.01.2017, 17:32.

    #2
    Hi,
    schau doch mal mit der PID des openhab Prozesses im /proc-Filesystem nach. Die PID des java Prozesses bekommst Du mit
    ps -axf | grep java
    . Danach unter /proc/<PID>/ mal ein
    ls -l fd
    oder so ähnlich machen. Alternativ kannst Du auch mit
    lsof | grep <pid>
    schauen, welche offenen FileDescriptoren sich angesammelt haben. Vielleicht findest Du da ein Indiz.

    Viele Grüße
    Michael

    Kommentar

    Lädt...
    X