<?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>Maje informatique &#187; Le Saviez-vous ?</title>
	<atom:link href="http://www.maje.biz/category/blog-technique/le-saviez-vous/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.maje.biz</link>
	<description>Votre société de services en logiciels libre</description>
	<lastBuildDate>Mon, 05 Sep 2022 14:33:48 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.2</generator>
	<item>
		<title>Connaissez-vous l&#8217; &#171;&#160;OOM-Killer&#160;&#187; ?</title>
		<link>http://www.maje.biz/connaissez-vous-l-oom-killer/</link>
		<comments>http://www.maje.biz/connaissez-vous-l-oom-killer/#comments</comments>
		<pubDate>Thu, 19 Feb 2015 16:25:02 +0000</pubDate>
		<dc:creator><![CDATA[Maje Informatique]]></dc:creator>
				<category><![CDATA[Blog technique]]></category>
		<category><![CDATA[Le Saviez-vous ?]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.maje.biz/?p=821</guid>
		<description><![CDATA[Je me rappelle, il y a quelques années, je recevais environ 600 spams par jour. Et puis soudain&#8230;plus rien pendant 1 jour, 2 jours, 3 jours&#8230; Là, je me dis &#171;&#160;c&#8217;est pas normal ! je devrais bien recevoir quelques messages tout de même !&#160;&#187;. Une investigation rapide dans les logs du serveur de messagerie montrent [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Je me rappelle, il y a quelques années, je recevais environ 600 spams par jour. Et puis soudain&#8230;plus rien pendant 1 jour, 2 jours, 3 jours&#8230; Là, je me dis &laquo;&nbsp;c&rsquo;est pas normal ! je devrais bien recevoir quelques messages tout de même !&nbsp;&raquo;.</p>
<p>Une investigation rapide dans les logs du serveur de messagerie montrent que l&rsquo;antivirus (<span style="font-family: courier new,courier;">clamd</span>) consommant de plus en plus de mémoire a déclenché la colère de l&rsquo;OOM-Killer et a provoqué l&rsquo;arrêt de &laquo;&nbsp;<em>postfix</em>&nbsp;&raquo; !</p>
<p>La même mésaventure est arrivée à un de mes clients, il y a quelques jours : &laquo;&nbsp;<em>Dites : vous pouvez jeter un coup d&rsquo;oeil à nos batchs (<span style="font-family: courier new,courier;">crontabs</span>) car ils ne sont pas déclenchés ?</em>&laquo;&nbsp;. La syntaxe semble pourtant bonne, les jobs, lancés manuellement, fonctionnent. Oui, mais voilà, le démon <span style="font-family: courier new,courier;">crond</span> n&rsquo;existe pas, pourtant il est bien lancé au démarrage&#8230; Que s&rsquo;est-il passé ? La faute à l&rsquo;OOM-Killer encore une fois !</p>
<p>Petit rappel de la gestion de la mémoire par le noyau Linux&#8230;</p>
<p><span id="more-821"></span></p>
<h3>Fonctionnement du noyau Linux :</h3>
<p>Un noyau Linux peut allouer plus de mémoire qu&rsquo;il n&rsquo;en possède vraiment (RAM + swap) :</p>
<p>par exemple, lors d&rsquo;un <em>fork</em>, il y a copie virtuelle des pages de données. Tant que les processus ne les modifient pas, elles ne sont pas dupliquées (<em>copy on write</em>). On peut aussi expliquer le choix du noyau Linux par l&rsquo;argument suivant &laquo;&nbsp;<em>je peux accepter d&rsquo;allouer de la mémoire pour le processus P car je sais qu&rsquo;il ne va pas l&rsquo;utiliser tout de suite. Et quand il voudra l&rsquo;utiliser, avec de la chance, un autre processus en aura libérée</em>&laquo;&nbsp;. C&rsquo;est ce qu&rsquo;on nomme un <strong>algorithme &laquo;&nbsp;optimiste</strong>&nbsp;&raquo; !</p>
<p>Mais même en étant optimiste, il arrive que la mémoire soit saturée : le noyau doit bien tenir ses promesses !</p>
<p>Un algorithme appelé <strong>OOM-Killer</strong> est alors invoqué pour tuer des processus (presque pris au hasard !) et ainsi récupérer de la mémoire.</p>
<p>Dans les cas cités plus haut, ce choix du &laquo;&nbsp;processus à dézinguer&nbsp;&raquo; est tombé sur <span style="font-family: courier new,courier;">smtpd</span> (<span style="font-family: courier new,courier;">postfix</span>) et <span style="font-family: courier new,courier;">crond</span>&#8230; Oups ! Et heureusement que ce n&rsquo;est pas tombé sur <span style="font-family: courier new,courier;">sshd</span> !</p>
<h3>Comment modifier l&rsquo;algorithme de l&rsquo;OOM-Killer ?</h3>
<ul>
<li>tout d&rsquo;abord le paramètre <span style="font-family: courier new,courier;">/proc/sys/vm/panic_on_oom</span> (0 par défaut) peut recevoir la valeur 1 : dans ce cas, la machine se met en mode &laquo;&nbsp;panic&nbsp;&raquo;, mode qui se règle aussi&#8230;</li>
<li>le paramètre <span style="font-family: courier new,courier;">/proc/sys/vm/overcommit_memory</span> peut recevoir la valeur 2 pour inhiber l&rsquo;algorithme d&rsquo;allocation optimiste, avec le risque de saturer la mémoir plus rapidement&#8230;</li>
</ul>
<h3>Comment protéger certains processus contre l&rsquo;OOM-Killer ?</h3>
<ul>
<li>pour chaque processus, le paramètre <span style="font-family: courier new,courier;">/proc/&lt;PID&gt;/oom_score</span> donne la probabilité d&rsquo;être éradiqué par l&rsquo;OOM-Killer. Plus basse est la valeur, plus faible est cette probabilité. La valeur 0 indique un processus qui ne sera pas tué</li>
<li>pour chaque processus, le paramètre <span style="font-family: courier new,courier;">/proc/&lt;PID&gt;/oom_adj</span> permet d&rsquo;adjuster cette probabilité. Le paramètre prend une valeur entre -17 et +15. La valeur -17 protège le processus contre l&rsquo;OOM-Killer. A votre avis, quelle est la valeur attribuée à <span style="font-family: courier new,courier;">sshd</span> ?</li>
</ul>
<h3>Conclusion :</h3>
<ul>
<li>Surveiller le taux d&rsquo;occupation de la mémoire (RAM et swap)</li>
<li>Surveiller les logs pour vérifier que l&rsquo;OOM-Killer ne s&rsquo;est pas déclenché</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maje.biz/connaissez-vous-l-oom-killer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dans quels cas ne pouvez-vous pas modifier un fichier ?</title>
		<link>http://www.maje.biz/dans-quels-cas-ne-pouvez-vous-pas-modifier-un-fichier/</link>
		<comments>http://www.maje.biz/dans-quels-cas-ne-pouvez-vous-pas-modifier-un-fichier/#comments</comments>
		<pubDate>Tue, 10 Feb 2015 13:08:52 +0000</pubDate>
		<dc:creator><![CDATA[Maje Informatique]]></dc:creator>
				<category><![CDATA[Le Saviez-vous ?]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.maje.biz/?p=800</guid>
		<description><![CDATA[Imaginez la situation suivante : vous êtes connecté en tant que &#171;&#160;root&#160;&#187; sur un serveur Linux et vous devez modifier le fichier /etc/hosts. Pourtant, vous n&#8217;y arrivez pas : le système vous insulte copieusement en vous signalant que la modification est impossible ou a échoué. Pouvez-vous imaginer les causes de ce problème ? Nous en [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Imaginez la situation suivante : vous êtes connecté en tant que &laquo;&nbsp;root&nbsp;&raquo; sur un serveur Linux et vous devez modifier le fichier <span style="font-family: courier new,courier;">/etc/hosts</span>. Pourtant, vous n&rsquo;y arrivez pas : le système vous insulte copieusement en vous signalant que la modification est impossible ou a échoué.<br />
Pouvez-vous imaginer les causes de ce problème ? Nous en avons listé 5&#8230; à vous de faire mieux&#8230;</p>
<p><span id="more-800"></span></p>
<ol>
<li>le système de fichiers peut être saturé : il n&rsquo;y a plus assez de data-blocks de libres ? (<span style="font-family: courier new,courier;">df -h</span>)</li>
<li>vous utilisez un éditeur qui crée un fichier temporaire et il n&rsquo;y a plus d&rsquo;inodes de libre ? (<span style="font-family: courier new,courier;">df -i</span>)</li>
<li>une erreur est survenue dans le système de fichiers et la configuration de celui-ci a provoqué un &laquo;&nbsp;<span style="font-family: courier new,courier;">remount-ro</span>&laquo;&nbsp;, avez-vous vérifié les logs ? (<span style="font-family: courier new,courier;">tune2fs -l /dev/sdX</span> vous permet de consulter le comportement du système de fichiers en cas d&rsquo;erreur, <span style="font-family: courier new,courier;">less /var/log/messages</span>)</li>
<li>rappelez-vous qu&rsquo;il y a 6 mois vous avez placé l&rsquo;attribut &laquo;&nbsp;immutable&nbsp;&raquo; sur le fichier <span style="font-family: courier new,courier;">/etc/hosts</span> ! (<span style="font-family: courier new,courier;">lsattr /etc/hosts</span>)</li>
<li>vous êtes en mode &laquo;&nbsp;<em>rescue</em>&nbsp;&raquo; ou &laquo;&nbsp;<em>single user</em>&nbsp;&raquo; et le système de fichiers racine est toujours monté en lecture seule ? (<span style="font-family: courier new,courier;">mount</span>)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.maje.biz/dans-quels-cas-ne-pouvez-vous-pas-modifier-un-fichier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ko ou Kio ? Go ou Gio ?</title>
		<link>http://www.maje.biz/ko-ou-kio-go-ou-gio/</link>
		<comments>http://www.maje.biz/ko-ou-kio-go-ou-gio/#comments</comments>
		<pubDate>Tue, 20 Jan 2015 17:49:54 +0000</pubDate>
		<dc:creator><![CDATA[Maje Informatique]]></dc:creator>
				<category><![CDATA[Blog technique]]></category>
		<category><![CDATA[Le Saviez-vous ?]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Kilo octets mega kibi gibi Kio Gio]]></category>

		<guid isPermaLink="false">http://www.maje.biz/?p=815</guid>
		<description><![CDATA[A l&#8217;origine fût le bit pourvu d&#8217;une simple valeur 0 ou 1, puis ces bits furent agrégés, généralement par 8 pour former des octets (le &#171;&#160;byte&#160;&#187; anglophone). Avec un octet on ne fait pas grand-chose, on ne stocke presque rien. Rapidement, les fabricants de matériel ont fourni des mémoires, des disquettes, des disques pouvant contenir [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A l&rsquo;origine fût le <strong>bit</strong> pourvu d&rsquo;une simple valeur 0 ou 1, puis ces bits furent agrégés, généralement par 8 pour former des <strong>octets</strong> (le &laquo;&nbsp;<em>byte</em>&nbsp;&raquo; anglophone).</p>
<p>Avec un octet on ne fait pas grand-chose, on ne stocke presque rien. Rapidement, les fabricants de matériel ont fourni des mémoires, des disquettes, des disques pouvant contenir des milliers, des millions d&rsquo;octets. Naturellement, ils ont réutilisé les multiples déjà en vigueur, à savoir le kilo, le méga, etc&#8230;</p>
<p>On a vu apparaitre alors le Ko (kilo-octets) et le Mo (méga-octets)&#8230;. seulement, les informaticiens aimant les puissances de deux, le kilo-octets (Ko) des informaticiens ne faisait pas 1000 octets mais 1024 octets, car c&rsquo;est la puissance de deux la plus proche de 1000 (1024 = 2 puissance 10). Dans le même esprit, le méga-octets faisait 2 ** 20 octets, soit 1.048.576 octets et non pas un million d&rsquo;octets.</p>
<p>Les informaticiens ont donc réutilisé le kilo pour indiquer un multiple de 1024 alors que d&rsquo;habitude un kilo signifie 1000 quelque chose (kilomètre, kilogramme&#8230;).</p>
<p>Pourquoi pas ? On s&rsquo;est bien adapté&#8230;</p>
<p>Mais en 1998 l&rsquo;<span class="lang-en" lang="en" xml:lang="en">International Electrotechnical Commission (IEC)</span> a décidé qu&rsquo;il fallait clarifier la situation. Ainsi de nouvelles unités ont été créées : <span id="more-815"></span></p>
<ul>
<li>le <strong>Kio</strong> qu&rsquo;on prononce &laquo;&nbsp;<strong>kibi-octets</strong>&nbsp;&raquo; fait 1024 octets</li>
<li>le <strong>Mio</strong> qu&rsquo;on prononce &laquo;&nbsp;<strong>mébi-octets</strong>&nbsp;&raquo; fait 1024 * 1024 = 1.048.576 octets</li>
<li>de même pour le <strong>Gio</strong> (<strong>gibi-octets</strong> &#8211; on ne rit pas !), le <strong>Tio</strong> (<strong>tébi-octets</strong>), etc&#8230;</li>
</ul>
<p>Résumons : 1 Ko = 1000 octets alors que 1 Kio = 1024 octets</p>
<p>Quel est alors le problème ? Il est double :</p>
<ol>
<li>tout d&rsquo;abord, les manuels de vos outils informatiques, de vos commandes (<em>fdisk</em>, <em>parted</em>, &#8230;) ont-ils été mis à jour ? Quand vous lisez &laquo;&nbsp;Go&nbsp;&raquo; dans une page de doc, s&rsquo;agit-il vraiment du multiple de 1000 ou bien est-ce toujours le multiple de 1024 qui est sous-entendu ? En général, en l&rsquo;absence de mise à jour, les docs parlent en &laquo;&nbsp;multiples de 1024&Prime;</li>
<li><strong>par contre, les constructeurs de disque ne se trompent pas eux</strong> : <span style="color: #ff0000;">quand vous achetez un disque sur lequel on vous promet 1 To de stockage, il faut bien comprendre 10 puissance 12 octets et non pas 2 puissance 40 octets ! On final, vous vous retrouvez avec 931 Mio environ</span> ! On vous aura prévenu : ne criez pas à l&rsquo;arnaque&#8230;quoique&#8230;.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.maje.biz/ko-ou-kio-go-ou-gio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
