Aller au contenu

Problème d'instabilité Linux Gentoo


caaptusss

Messages recommandés

Bonjouuuuur à tous !

Et bien voilà, je me suis lancé dans l'aventure Linux avec OVH pour que ma radio (www.radiohard.com) puisse être diffusé en shoutcast.

Jusqu'ici tout se passe bien, mon serveur shoutcast est configuré et tout tient la route. SAUF QUE ! Il y a un mais...

Le serveur shoutcast deviens complètement indisponible tous les 5-6 jours environs (alors que le serveur répond parfaitement bien en SSH).

Il s'avère que quand je relance ce serveur shoucast (le logiciel donc), et bien il ne veux pas rebooter. Il me lance une Erreur sans préciser laquelle.

J'ai pu faire deux constatations :

1) la mémoire vive disponible déscend dangeureusement au fil des jours pour atteindre un seuil limite (cf Capture 1)

2) Lorsque la mémoire vive est trop basse, le serveur plante, il est à noté que lorsqu'on lance le serveur, la mémoire tempon renvoit les logs suivants (cf capture 2).

capture2.gif

Capture 1

capture1.gif

Capture 2

Pour rappel, voici un fichier de config shoucast :

; fichier de configuration du Serveur Audio Réseau Distribué par SHOUTcast
; Copyright (C) 1998-2004 Nullsoft, Inc.
; Tous Droits Réservés.
; Dernière modification le Mar 17 2004

; Si vous voulez gérer plusieurs configurations, copiez
; simplement ce fichier sous un autre nom, et lancez sc_serv
; avec ce nom tel que:
; sc_serv.exe sc_leet.conf

; ***************************
; Paramètres requis
; ***************************

; MaxUser (MaxUtilisateur).  Le nombre maximal d'auditeurs simultannés autorisés.
; Calculez une valeur raisonnable pour votre bande passante d'upload disponible (c.à.d si
; vous avez l'ADSL avec 256kbps d'upload, et que vous voulez diffuser à 24kbps, vous devrez
; choisir 256kbps/24kbps=10 auditeurs maximum.)  Paramétrer cette valeur élevée
; gaspillera seulement de la RAM et diminuera la qualité de votre émission lorsque il y aura
; plus de personnes connextées que vous ne pourrez supporter.
MaxUser=1500

; Password (Mot de passe).  Alors que SHOUTcast ne demande jamais à un auditeur un mot de passe, 
; un mot de passe est requis pour diffuser à travers le serveur, et ainsi exécuter
; l'administration via l'interface web à ce serveur.  Ce serveur devra être consistitué
; uniquement de lettres et de chiffres, et ce sera le même serveur que votre auditeur
; devra rentrer dans le Plug-in SHOUTcast Source pour Winamp.  CETTE VALEUR
; NE PEUT PAS ETRE VIDE.
Password=Password

; PortBase. Ceci est le numéro du port IP sur lequel votre serveur se lancera. La
; valeur, et la valeur + 1 doit être disponible.  Si vous obtenez une erreur fatale lorsque
; le DNAS définit un socket au démarrage, assurez-vous que rien d'autre sur la
; machine est lancé sur le même port (telnet localhost numéroport -- si vous obtenez
; une connexion refusée il est alors clair que vous utilisez ce port).  Les ports < 1024 
; requièrent des privilèges administrateur sur les machines *nix.  Le port par défaut est 8000.
PortBase=8000

; ***************************
; Paramètres Optionnels
; ***************************

; ***************************
; Configuration de Connexion
; ***************************

; LogFile (FichierLog): fichier à utiliser pour la connexion. Il peut être '/dev/null' ou 'aucun'
; ou vide pour désactiver la connexion. Celui par défaut est ./sc_serv.log
; sur les systèmes *nix ou sc_serv_dir\sc_serv.log sur win32.
; Note: sur les systèmes win32 si l'emplacement n'est pas spécifié le lieu est
; dans le même répertoire que l'exécutable, sur les systèmes *nix il est dans le répertoire courant.
LogFile=sc_serv.log

; RealTime (TempsRéel) affiche une ligne de statut qui est mise à jour chaque seconde
; avec les dernières informations sur le flux courant (uniquement les systèmes *nix et win32)
RealTime=1

; ScreenLog (LogEcran) contrôle si le log est affiché à l'écran ou non
; sur les systèmes *nix et win32. Il est utile de désactiver ceci lorsque les serveurs 
; sont lancés en arrière-plan sans leurs propres terminaux. La valeur par défaut est 1
ScreenLog=1

; ShowLastSongs (AfficherDernièresChansons) spécifie combien de chansons sont listées
; sur la page /played.html.  La valeur par défaut est 10.  Les entrées acceptables sont entre 1 et 20.
ShowLastSongs=10

; TchLog décide si oui ou non le fichier log DNAS should track yp 
; directory touches.  Les ajouts et suppressions apparaîtront sans se préocuper de ce paramètre.
; La valeur par défaut est yes (oui).
; TchLog=yes

; WebLog décide si oui ou non les entrées http:// sur ce DNAS seront
; enregistrées.  La plupart des personnes doivent laisser ceci désactivé
; car le plug-in DSP utilise les appels http:// pour mettre à jour les titres
; et obtenir l'état de l'auditeur,
; qui prendra éventuellement beaucoup d'espace pour le log.  Si vous voulez
; voir les personnes qui parcourent votre admin.cgi ou vos pages index, activez ceci.
; Notez que ce paramètres n'affecte PAS les comptes des statistiques XML
; pour les entrées des pages http://.
; La valeur par défaut est no (non).
; WebLog=no

; W3CEnable (W3CActivé) active la connexion W3C.  Les connexions W3C contiennetnt des comptes httpd-like (comme httpd)
; de toutes les pistes jouées pour chaque auditeur, incluant des comptes que ces auditeurs
; prennent.  Ces données peuvent être parsées avec des outils comme Analog et WebTrends, ou données
; à des tiers comme Arbitron et Measurecast pour leurs systèmes de rapports.
; La valeur par défaut est Yes (oui = activé).
W3CEnable=Yes

; W3CLog décrit le nom du fichier log pour la connexion W3C.  Le fichier de log par défaut est
; sc_w3c.log, dans le même répertoire quelque soit à partir d'où le DNAS est parti.
W3CLog=sc_w3c.log


; ***************************
; Configuration réseau
; ***************************

; SrcIP, the interface to listen for source connections on (or to make relay 
; connections on if relaying). Can and usually will be ANY or 127.0.0.1  
; (Making it 127.0.0.1 will keep other machines from being able to
; broadcast using your shoutcast server )
SrcIP=ANY

; DestIP, IP to listen for clients on (and to contact yp.shoutcast.com)
; can and usually will be be ANY. If your machine has multiple IP addresses,
; set this to the one you want it to be accessed by.
DestIP=ANY

; Yport, port to connect to yp.shoutcast.com on. For people behind caching 
; webproxies, change this to the alternate port (666 is what it might be, 
; check www.shoutcast.com if you have problems). Otherwise, leave this at 80.
; We're actively working on re-opening port 666, but as of release the only
; working port is port 80.
Yport=80

; NameLookups.  Specify 1 to perform reverse DNS on connections.
; This option may increase the time it takes to connect to your
; server if your DNS server is slow.  Default is 0 (off). 
NameLookups=0

; RelayPort and RelayServer specify that you want to be a relay server.
; Relay servers act as clients to another server, and rebroadcast.
; Set RelayPort to 0, RelayServer to empty, or just leave these commented
; out to disable relay mode.
; RelayPort=8000
; RelayServer=192.168.1.58

; ***************************
; Server configuration
; ***************************

; AdminPassword.  This password (if specified) changes the
; behavior of Password to be a broadcast-only password, and
; limits HTTP administration tasks to the password specified
; here.  The broadcaster, with the password above, can still
; log in and view connected users, but only the AdminPassword
; will grant the right to kick, ban, and specify reserve hosts.
; The default is undefined (Password allows control for both 
; source and admin)
; AdminPassword=adminpass

; AutoDumpUsers controls whether listeners are disconnected if the source
; stream disconnects. The default is 0.
AutoDumpUsers=0

; AutoDumpSourceTime specifies how long, in seconds, the source stream is
; allowed to be idle before the server disconnects it. 0 will let the source
; stream idle indefinately before disconnecting. The default is 30.
AutoDumpSourceTime=30

; ContentDir specifies the directory location on disk of where to stream
; on-demand content from.  Subdirectories are supported as of DNAS 1.8.2.
; Default is ./content, meaning a directory named content in the same directory
; as where sc_serv was invoked from.
; ContentDir=./content

; IntroFile can specify a mp3 file that will be streamed to listeners right
; when they connect before they hear the live stream.
; Note that the intro file MUST be the same samplerate/channels as the 
; live stream in order for this to work properly. Although bitrate CAN
; vary, you can use '%d' to specify the bitrate in the filename
; (i.e. C:\intro%d.mp3 would be C:\intro64.mp3 if you are casting at 64kbps).
; The default is no IntroFile
; IntroFile=c:\intro%d.mp3

; BackupFile can specify a mp3 file that will be streamed to listeners over
; and over again when the source stream disconnects. AutoDumpUsers must be
; 0 to use this feature. When the source stream reconnects, the listeners
; are rejoined into the live broadcast.
; Note that the backup file MUST be the same samplerate/channels as the 
; live stream in order for this to work properly. Although bitrate CAN
; vary, you can use '%d' to specify the bitrate in the filename
; (i.e. C:\backup%d.mp3 would be C:\backup32.mp3 if you are casting at 32kbps).
; The default is no BackupFile
; BackupFile=C:\intro%d.mp3

; TitleFormat specifies a format string for what title is sent to the listener.
; For example, a string of 'Justin Radio' forces the title 'Justin Radio' even
; when the source changes the title. You can use up to one '%s' in the string
; which lets you contain the title from the source. For example, if your 
; TitleFormat is 'Justin Radio: %s', and the source plug-in's title is 
; 'Billy plays the blues', then the net title is 
; 'Justin Radio: Billy plays the blues'. Note: only works on non-relay servers.
; The default is no format string. 
; TitleFormat=Justin Radio: %s

; URLFormat specifies a format string for what url is sent to the listener.
; Behaves like TitleFormat (see above).
; The default is no format string.
; URLFormat=http://www.server.com/redirect.cgi?url=%s

; PublicServer can be always, never, or default (the default, heh)
; Any setting other than default will override the public status
; of the source plug-in or of a SHOUTcast server that is being relayed.
PublicServer=default

; AllowRelay determines whether or not other SHOUTcast servers will be
; permitted to relay this server.  The default is Yes.
AllowRelay=Yes

; AllowPublicRelay, when set to No, will tell any relaying servers not
; to list the server in the SHOUTcast directory (non-public), provided
; the relaying server's Public flag is set to default.  The default is
; Yes.
AllowPublicRelay=Yes

; MetaInterval specifies how often, in bytes, metadata sent.
; You should really leave this at the default of 8192, but the option is 
; provided anyway.
MetaInterval=8192

; *****************************
; Access Control
; *****************************

; ListenerTimer is a value in minutes of maximum permitted time for
; a connected listener.  If someone is connected for longer than this
; amount of time, in minutes, they are disconnected.  When undefined,
; there is no limit defined.  Default is undefined.
; ListenerTimer=600

; BanFile is the text file sc_serv reads and writes to/from
; for the list of clients prohibited to connect to this
; server.  It's automatically generated via the web
; interface.
; BanFile=sc_serv.ban

; RipFile is the text file sc_serv reads and writes to/from
; for the list of client IPs which are *ALWAYS* permitted
; to connect to this server (useful for relay servers).
; This file is automatically generated via the web
; interface.  Note that if your server is FULL, and someone
; from a Reserved IP connects, the DNAS will force the person
; listening for the longest time off to make room for the new
; connection.
; RipFile=sc_serv.rip

; RIPOnly, when set to Yes, will only allow IP addresses listed in the Reserved
; IP list to connect and relay.  All other connections for listening will be denied.
; This is really only useful for servers whose sole purpose is to provide the
; primary feed to all public relays.  Setting this value to Yes also forces the
; server into Private mode, since listing this server in the directory would
; be pointless.  Default is No.
; RIPOnly=No

; *****************************
; Extended Logging 
; *****************************

; The old features previously at this location, HistoryLog and CurrentLog, are
; no longer used and succeded by W3C Logging and XML, respectively.

; ***************************
; Mass Configuration
; ***************************

; Unique: assigns a variable name for use in any config item which points to a
; file.  Useful for servers running lots of SHOUTcast servers that have similar
; configuration parameters, excepting logfile names, banfile names, etc.  Any
; parameter that takes a pathname can include the character $, which will
; substitute $ for the variable assigned here.  Keep in mind that the unique
; variable can only be used after it is defined, so don't try to use a unique
; variable substitution in a path before you define it.  For example, you 
; could set:
; Unique=my_server
; and then define Log=/usr/local/shoutcast/$.log in an included configuration 
; file.  Default is Unique=$, so that by default any file with $ in the name 
; won't substitute anything at all.

; Include: instructs the sc_serv to read from the named configuration file,
; *at the point of insertion of the Include statement*, and process as though
; the included file was part of itself.  Note that all configuration parameters
; in the DNAS config file are processed first to last, so if an item is defined
; twice in a configuration, the last item to process will be the one that takes
; effect.  For this reason, it's usually a good idea to use the Includes first
; in a config file.
; example:
; Include=/usr/local/shoutcast/common.conf
; Default is not applicable.

; *****************************
; Tweaks
; *****************************
;
; DON'T MESS WITH THIS STUFF UNLESS YOU REALLY KNOW WHAT YOU'RE DOING.
; DON'T COMPLAIN TO US IF YOU MESS WITH IT AND THINGS BREAK.
; HAVE A NICE DAY.

; CpuCount is used to explicitly limit the DNAS to dominating a finite
; amount of processors in multiprocessor systems.  By default, 
; SHOUTcast creates one thread for every processor it detects in the
; host system, and assigns listeners equally across all the threads.
; In the event SHOUTcast doesn't correctly determine the number of
; CPUs in your host, or if you for whatever reason want to force
; the DNAS to not use other processors, you can say so here.
; Default behavior is to use as many processors as the DNAS detects on
; your system.
; CpuCount=1

; Sleep defines the granularity of the client threads for sending data.
; DNAS 1.7.0, per client thread, will send up to 1,024 bytes of data
; per socket (or less depending on the window available), and then
; sleep for the provided duration before repeating the whole process.
; Note that making this value smaller will vastly increase CPU usage on 
; your machine.  Increasing reduces CPU, but increasing this value too far 
; will cause skips.  The value which seems most optimal for 128kbps 
; streaming is 833 (833 microseconds per client poll) on our test labs.
; We wouldn't recommend setting it any lower than 100, or any higher than 
; 1,024.  If you have a slower machine, set this number lower to fix
; skips.
; Default value is 833.
; Sleep=833

; CleanXML strips some whitespace and linefeeds from XML output which
; confuses some (poorly written) XML parsers.  If you get XML rendering errors,
; try turning this on.  Default is No (off).
; CleanXML=No
;
; TAG RULES

RAPPEL : ceci n'est pas le fichier de config du logiciel installé. C'est un fichier de config que j'ai récupéré d'une version windows. Les options sont normalement identiques.

La question est simple ! Connaissez vous l'option qui me permettrais de désactiver ces logs dans les options de shoucast ?

Lien vers le commentaire
Partager sur d’autres sites

A voir ta capture de top, tu es loin d'avoir saturé ta RAM, une bonne partie étant utilisées comme tampon (buffer).

En plus, ton système n'a même pas commencer à utiliser le SWAP. Ca me fait penser que le problème ne vient pas de la consommation de mémoire vive.

Par contre, sur ton log de shoutcast, on voit que ton serveur essaye de se connecter une fois par seconde à yp.shoutcast.com. Est-ce qu'avec une telle fréquence de conncetion, tu ne te ferais pas automatiquement blacklisté temporairement ?

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...