<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Florian Bogey &#187; kernel</title>
	<atom:link href="https://www.blog.florian-bogey.fr/tag/kernel/feed" rel="self" type="application/rss+xml" />
	<link>https://www.blog.florian-bogey.fr</link>
	<description>// Développeur Web - Administrateur système</description>
	<lastBuildDate>Mon, 03 Mar 2014 18:12:00 +0000</lastBuildDate>
	<language>fr-FR</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Empêcher les dépassements de mémoire sur un serveur Linux</title>
		<link>https://www.blog.florian-bogey.fr/empecher-les-depassements-de-memoire-sur-un-serveur-linux.html</link>
		<comments>https://www.blog.florian-bogey.fr/empecher-les-depassements-de-memoire-sur-un-serveur-linux.html#comments</comments>
		<pubDate>Sat, 20 Apr 2013 11:58:32 +0000</pubDate>
		<dc:creator><![CDATA[Florian]]></dc:creator>
				<category><![CDATA[Administration Linux]]></category>
		<category><![CDATA[Systèmes et réseaux]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[killer]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mémoire]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[Noyau]]></category>
		<category><![CDATA[oom]]></category>
		<category><![CDATA[oom-killer]]></category>
		<category><![CDATA[overcommit_memory]]></category>
		<category><![CDATA[overcommit_ratio]]></category>
		<category><![CDATA[ram]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.blog.florian-bogey.fr/?p=491</guid>
		<description><![CDATA[Par défaut Linux possède un mécanisme complexe nommé OOM-Killer (pour Out-Of-Memory Killer), ce dernier est incorporé au noyau Linux et permettra en cas de dépassement de mémoire de tuer des processus inutiles afin d&#8217;éviter un plantage complet du serveur. OOM-Killer va donc être appelé lorsque le RAM et le SWAP sont entièrement utilisés et que [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Par défaut Linux possède un mécanisme complexe nommé OOM-Killer (pour Out-Of-Memory Killer), ce dernier est incorporé au noyau Linux et permettra en cas de dépassement de mémoire de tuer des processus inutiles afin d&rsquo;éviter un plantage complet du serveur.</p>
<p><span id="more-491"></span></p>
<p><strong>OOM-Killer</strong> va donc être appelé lorsque le <strong>RAM</strong> et le <strong>SWAP</strong> sont entièrement utilisés et que le système n&rsquo;a plus assez de mémoire à allouer aux processus. Ensuite <strong>OOM-Killer</strong> déterminera quel processus tuer suivant des heuristiques et ne terminera donc pas des processus système vitaux.</p>
<p>Les appels à <strong>OOM-Killer</strong> sont enregistrés dans les journaux systèmes (/var/log/messages) :</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">httpd invoked oom-killer: gfp_mask=[...], order=[...], oomkilladj=[...]

[suivis de quelques ligne de debug &quot;Call Tace&quot;]</pre>
<p>Pour trouver tous les processus tués par <strong>OOM-Killer</strong> nous pourrons utiliser la commande suivante :</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">grep oom-killer /var/log/messages</pre>
<p>Ici nous voyons qu&rsquo;<strong>OOM-Killer</strong> a terminé le processus httpd (soit Apache). Dans certains cas, par exemple lors de l&rsquo;utilisation d&rsquo;un moteur de base de données contenant beaucoup d&rsquo;enregistrements, ou si <strong>OOM-Killer</strong> à tendance à terminer les processus SSH, base de données, serveur web (ou autre), il sera utile de modifier le comportement de Linux avec la mémoire disponible.</p>
<p>Pour cela nous allons modifier le paramètre noyau <strong>overcommit_memory</strong>, ce paramètre peut prendre trois valeurs différentes :</p>
<ul>
<li>0 : Il s&rsquo;agit du comportement par défaut, les réservations de mémoire seront acceptées ou refusées selon un heuristique</li>
<li>1 : Toujours accepter</li>
<li>2 : Accepter les demandes, si elle ne dépasse pas la quantité de ressource déterminée dans le paramètre <strong>overcommit_ratio</strong></li>
</ul>
<p>Le paramètre <strong>overcommit_ratio</strong> (par défaut 50) détermine le pourcentage de mémoire physique que l&rsquo;on autorise à allouer en plus du swap. Pour connaitre la quantité de mémoire que l&rsquo;on autorise à allouer, le calcul est le suivant :  SWAP + ((RAM*<strong>overcommit_ratio</strong>)/100)</p>
<p>Pour éviter les dépassements de mémoire nous allons donc modifier les deux paramètres noyaux en mettant <strong>overcommit_memory</strong> à 2 et <strong>overcommit_ratio</strong> à 95 (Certains préconisent des valeurs plus basses telles que 75 ou 85, voir plus hautes). Les manipulations sont à effectuer en tant que root.</p>
<p>Pour modifier de façon temporaire (annulée au prochain redémarrage) :</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
echo 2 &gt; /proc/sys/vm/overcommit_memory
echo 95 &gt; /proc/sys/vm/overcommit_ratio
</pre>
<p>Pour une modification définitive, il faut éditer le fichier /etc/sysctl.conf</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
vi /etc/sysctl.conf
</pre>
<p>Et ajouter/modifier les lignes suivantes :</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
</pre>
<p><a title="Photo" href="http://wallbase.cc/wallpaper/377152" target="_blank">Photo</a> et <a title="Référence" href="https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-captun.html" target="_blank">Référence</a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.florian-bogey.fr/empecher-les-depassements-de-memoire-sur-un-serveur-linux.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Comment est &#171;&#160;construit&#160;&#187; Linux ?</title>
		<link>https://www.blog.florian-bogey.fr/comment-est-construit-linux.html</link>
		<comments>https://www.blog.florian-bogey.fr/comment-est-construit-linux.html#comments</comments>
		<pubDate>Sat, 06 Apr 2013 19:44:14 +0000</pubDate>
		<dc:creator><![CDATA[Florian]]></dc:creator>
				<category><![CDATA[Administration Linux]]></category>
		<category><![CDATA[News diverses]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Systèmes et réseaux]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Noyau]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Vidéo]]></category>

		<guid isPermaLink="false">http://www.blog.florian-bogey.fr/?p=482</guid>
		<description><![CDATA[La fondation Linux a publié une vidéo très bien faite qui explique le processus de création du noyau Linux. La vidéo donne aussi quelques chiffres intéressants sur le système d&#8217;exploitation en lui-même (d&#8217;où les confusions volontaires entre système d&#8217;exploitation et noyau). Parmi les chiffres intéressants, on apprend par exemple que chaque jour, plus de 850 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>La<strong> fondation Linux</strong> a publié une vidéo très bien faite qui explique le processus de<strong> création du noyau Linux</strong>. La vidéo donne aussi quelques chiffres intéressants sur le système d&rsquo;exploitation en lui-même (d&rsquo;où les confusions volontaires entre système d&rsquo;exploitation et noyau).</p>
<p><span id="more-482"></span></p>
<p>Parmi les chiffres intéressants, on apprend par exemple que chaque jour, plus de <strong>850 000 téléphones</strong> sous Linux sont activés, que <strong>9 super-ordinateurs</strong> sur 10 tournent sur Linux, ou encore que <strong>Google</strong>, <strong>Twitter</strong>, <strong>Facebook</strong> et <strong>Amazon</strong> utilisent Linux.</p>
<p><iframe frameborder="0" height="309" src="http://www.youtube.com/embed/yVpbFMhOAwE" width="550"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.florian-bogey.fr/comment-est-construit-linux.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer les VirtualBox Guest Additions sur CentOS/Fedora/RHEL</title>
		<link>https://www.blog.florian-bogey.fr/installer-les-virtualbox-guest-additions-sur-centosrhelfedora.html</link>
		<comments>https://www.blog.florian-bogey.fr/installer-les-virtualbox-guest-additions-sur-centosrhelfedora.html#comments</comments>
		<pubDate>Wed, 23 Jan 2013 17:08:37 +0000</pubDate>
		<dc:creator><![CDATA[Florian]]></dc:creator>
				<category><![CDATA[Administration Linux]]></category>
		<category><![CDATA[Logiciels]]></category>
		<category><![CDATA[Systèmes et réseaux]]></category>
		<category><![CDATA[additions]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[guest]]></category>
		<category><![CDATA[invité]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[kern_dir]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[red hat]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[rhel]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[VirtualBox Guest Additions]]></category>
		<category><![CDATA[virtualisation]]></category>

		<guid isPermaLink="false">http://www.blog.florian-bogey.fr/?p=190</guid>
		<description><![CDATA[Si vous utilisez VirtualBox pour vos machines virtuelles, il se peut que vous rencontriez des problèmes avec les &#171;&#160;VirtualBox Guest Additions&#160;&#187; entre autre, lors d&#8217;une mise à jour du Kernel. Il semble en effet que les additions VirtualBox ne se compilent pas correctement avec les dernières versions du noyau. Cette procédure devrais fonctionner avec les [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Si vous utilisez <strong>VirtualBox</strong> pour vos machines virtuelles, il se peut que vous rencontriez des problèmes avec les &laquo;&nbsp;VirtualBox Guest Additions&nbsp;&raquo; entre autre, lors d&rsquo;une mise à jour du <strong>Kernel</strong>.</p>
<p>Il semble en effet que les additions VirtualBox ne se compilent pas correctement avec les dernières versions du noyau.</p>
<p><span id="more-190"></span></p>
<p>Cette procédure devrais fonctionner avec les versions récentes des distributions basé sur <strong>RedHat</strong> soit : <strong>CentOS</strong> (Supérieur à 5.8), <strong>RHEL</strong> (Supérieur à 5.8), <strong>Fedora</strong> (Supérieur à 12) &#8230;</p>
<h3>1 &#8211; Obtenir les droits root</h3>
<pre class="brush: plain; title: ; notranslate">su -</pre>
<h3>2 &#8211; Monter les VirtualBox Guest Additions</h3>
<p>Pour ce faire, il faut se rendre dans le menu périphérique et cliquer sur &laquo;&nbsp;Installer les Additions invité&nbsp;&raquo;.</p>
<p><img style="border: 0px;" alt="" src="http://www.blog.florian-bogey.fr/wp-content/uploads/2013/01/virtualbox-additions.png" width="303" height="171" /></p>
<p>Puis les monter</p>
<pre class="brush: plain; title: ; notranslate">
mkdir /media/VBoxAdditions
mount -r /dev/cdrom /media/VBoxAdditions
</pre>
<h3>3 &#8211; On s&rsquo;assure alors que l&rsquo;on possède le dernier kernel</h3>
<pre class="brush: plain; title: ; notranslate">
yum update kernel*
reboot
</pre>
<h3>4 &#8211; Installation des paquets nécessaires</h3>
<pre class="brush: plain; title: ; notranslate">
yum install kernel-headers kernel-devel gcc
</pre>
<h3>5 &#8211; Ajouter la variable d&rsquo;environnement KERN_DIR</h3>
<p>Il faut tout d&rsquo;abord récupérer la version du kernel avec la commande <strong>uname</strong></p>
<pre class="brush: plain; title: ; notranslate">
uname -r
</pre>
<p>Créer la variable <strong>KERN_DIR</strong>, en remplaçant VERSION_DU_KERNEL par le résultat de la commande ce-dessus</p>
<pre class="brush: plain; title: ; notranslate">
KERN_DIR=/usr/src/kernels/VERSION_DU_KERNEL
export KERN_DIR
</pre>
<p>Par exemple</p>
<pre class="brush: plain; title: ; notranslate">
KERN_DIR=/usr/src/kernels/2.6.32-279.19.1.el6.x86_64
</pre>
<h3>6 &#8211; Installer les VirtualBox Guest Additions</h3>
<pre class="brush: plain; title: ; notranslate">
cd /media/VBoxAdditions
./VBoxLinuxAdditions.run
</pre>
<p>A la fin de l&rsquo;installation il faut redémarrer la machine</p>
<pre class="brush: plain; title: ; notranslate">
reboot
</pre>
<p>Arrivé ici les VirtualBox Guest Additions devraient être fonctionnel.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.florian-bogey.fr/installer-les-virtualbox-guest-additions-sur-centosrhelfedora.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
