{"id":1078,"date":"2014-12-01T21:45:38","date_gmt":"2014-12-01T20:45:38","guid":{"rendered":"http:\/\/clemente.pamplona.name\/dba\/?p=1078"},"modified":"2014-12-02T14:01:02","modified_gmt":"2014-12-02T13:01:02","slug":"parametrizacion-del-kernel-en-linux-swappiness","status":"publish","type":"post","link":"http:\/\/clemente.pamplona.name\/dba\/parametrizacion-del-kernel-en-linux-swappiness\/","title":{"rendered":"Parametrizacion del kernel en linux: swappiness"},"content":{"rendered":"<p>Hoy vamos a ver una par\u00e1metro poco documentado de la relaccion entre Linux  y Oracle.<br \/>\nCuando miramos las recomendaciones de Oracle para el kernel a la hora de instalarlo en un sistema operativo Linux nos encontramos con:<br \/>\n<a href=\"https:\/\/docs.oracle.com\/database\/121\/LTDQI\/toc.htm#BHCCADGD\" title=\"Configuring Kernel Parameters and Resource Limits\">Configuring Kernel Parameters and Resource Limits<\/a><\/p>\n<pre>\r\nfs.aio-max-nr = 1048576\r\nfs.file-max = 6815744\r\nkernel.shmall = 2097152\r\nkernel.shmmax = 536870912\r\nkernel.shmmni = 4096\r\nkernel.sem = 250 32000 100 128\r\nnet.ipv4.ip_local_port_range = 9000 65500\r\nnet.core.rmem_default = 262144\r\nnet.core.rmem_max = 4194304\r\nnet.core.wmem_default = 262144\r\nnet.core.wmem_max = 1048586\r\n<\/pre>\n<p>Pero no hay ni rastro de este par\u00e1metro <b>swappiness<\/b> al que hago referencia. Si miramos en la <a href=\"http:\/\/es.wikipedia.org\/wiki\/Swappiness\" title=\"Swappines\">wikipedia <\/a> nos indica que :<br \/>\n<i><br \/>\nSwappiness es una propiedad del N\u00facleo Linux que permite establecer un balance entre el uso del Espacio de intercambio (swap en ingl\u00e9s, por eso el nombre de la propiedad) y la Memoria de acceso aleatorio (RAM).<br \/>\nEl swappiness puede tomar valores desde el 0 hasta el 100. Si se establece 0 el n\u00facleo intentar\u00e1 no hacer intercambio, mientras que si se establece 100 el sistema intentar\u00e1 mantener la Memoria de acceso aleatorio lo m\u00e1s libre posible haciendo intercambio.<br \/>\n<\/i><\/p>\n<p>Este valor est\u00e1 configurado por defecto en las distribuciones Linux a <b>60<\/b> ,y como os dec\u00eda no encontramos apenas referencias a el en la documentaci\u00f3n de Oracle.Pero \u00bfque significa este valor del swappines a 60?<\/p>\n<p>Significa que, cuando lleguemos al uso de ese 60% de memoria el proceso <strong>kswapd<\/strong> se lanzar\u00e1 a hacer su trabajo, haciendo que el rendimiento de nuestra base de datos ca\u00edga en picado por el uso de recursos del sistema del proceso kswapd.<\/p>\n<h2>\u00bfQue hacer si esto ocurre?<\/h2>\n<p>La solucion pasa por modificar este par\u00e1metro  para que el kswapd no empiece hasta un 10% de memoria libre.<\/p>\n<pre>\r\necho vm.swappiness=10 >> \/etc\/sysctl.conf\r\nsysctl -p\r\n\r\n<\/pre>\n<p>Como os comentaba, esta opcion del kernel de linux est\u00e1 muy poco documentada por parte de Oracle, yo solamente he encontrado referencias a ella en:<\/p>\n<ul>\n<li><a href=\"https:\/\/access.redhat.com\/documentation\/en-US\/Red_Hat_Enterprise_Linux\/5\/html-single\/Tuning_and_Optimizing_Red_Hat_Enterprise_Linux_for_Oracle_9i_and_10g_Databases\/#sect-Oracle_9i_and_10g_Tuning_Guide-Swap_Space-General\" title=\"Consejos de redhat \">Redhat 5 y Oracle 9i<\/a>\n<li><a href=\"http:\/\/www.dba-oracle.com\/t_tuning_linux_kernel_2_6_oracle.htm\" title=\"Tuning Linux VM on Kernel 2.6\">Tuning Linux VM on Kernel 2.6<\/a>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Hoy vamos a ver una par\u00e1metro poco documentado de la relaccion entre Linux y Oracle. Cuando miramos las recomendaciones de Oracle para el kernel a la hora de instalarlo en un sistema operativo Linux nos encontramos con: Configuring Kernel Parameters &hellip; <a href=\"http:\/\/clemente.pamplona.name\/dba\/parametrizacion-del-kernel-en-linux-swappiness\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,60,86,8,41],"tags":[39,190,40,189],"class_list":["post-1078","post","type-post","status-publish","format-standard","hentry","category-11g","category-12c","category-oracle-linux","category-parametrizacion","category-sistema-operativo","tag-kernel","tag-kswapd","tag-linux","tag-swappiness"],"_links":{"self":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/comments?post=1078"}],"version-history":[{"count":9,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1078\/revisions"}],"predecessor-version":[{"id":1087,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1078\/revisions\/1087"}],"wp:attachment":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/media?parent=1078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/categories?post=1078"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/tags?post=1078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}