From 4e0525272f1f9842087c3e6f71a477f7b8d50740 Mon Sep 17 00:00:00 2001 From: Lino Galiana Date: Fri, 11 Aug 2023 11:47:03 +0200 Subject: [PATCH] =?UTF-8?q?Corrige=20quelques=20scories=20&=20suggestions?= =?UTF-8?q?=20de=20plus=20de=20sp=C3=A9cificit=C3=A9s=20(#494)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Arthur Cazaubiel <68022499+acazaubiel@users.noreply.github.com> --- 01_R_Insee/Fiche_utiliser_ressources.qmd | 20 +++++++++---------- 03_Fiches_thematiques/Fiche_api.qmd | 2 +- .../Fiche_configurer_git.qmd | 2 +- 03_Fiches_thematiques/Fiche_rprojects.qmd | 2 +- 03_Fiches_thematiques/Fiche_se_documenter.qmd | 2 +- 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/01_R_Insee/Fiche_utiliser_ressources.qmd b/01_R_Insee/Fiche_utiliser_ressources.qmd index 706f9cc7..b8e86fd2 100644 --- a/01_R_Insee/Fiche_utiliser_ressources.qmd +++ b/01_R_Insee/Fiche_utiliser_ressources.qmd @@ -1,6 +1,6 @@ # Superviser sa session `R` {#superviser-ressources} -::: recommandation +::: {.callout-recommandation .icon} Dans un environnement où `R` est en concurrence avec d'autres usages informatiques (dans une session personnelle ou environnement de travail partagé comme AUSv3 à l'Insee), @@ -40,7 +40,7 @@ saturation de la RAM se traduisent généralement par un message du type **Le risque de saturation de la mémoire vive est particulièrement fréquent lorsqu'on travaille sur une infrastructure informatique où la mémoire vive est partagée avec d'autres utilisateurs (comme c'est le cas dans les environnements partagés, comme l'est l'architecture AUS)** Si plusieurs utilisateurs occupent chacun une grande quantité de mémoire vive -sur la même machine virtuelle d'AUS, il est facile d'arriver à une situation de +sur la même machine virtuelle, il est facile d'arriver à une situation de saturation qui paralyse tous les agents connectés (voire fait planter leur session `R`). **Le risque de saturation de la mémoire vive est aggravé par la façon dont `R` gère la mémoire.** En effet, une session `R` augmente automatiquement la quantité de mémoire vive qu'elle occupe lorsque les traitements réclament davantage de mémoire, mais elle ne la libère pas toujours lorsque les besoins en mémoire diminuent. Il est donc possible qu'une session `R` occupe beaucoup plus de mémoire que ce dont elle a besoin. Par exemple, si vous lancez une session `R`, que vous importez une table de données de 10 Go, puis que vous la supprimez immédiatement de votre session avec la fonction `rm()`, il est possible que votre session `R` continue à occuper inutilement 10 Go de mémoire vive, et ce quand bien même votre environnement ` RStudio` vous indique qu'il n'y a aucun objet en mémoire. @@ -65,9 +65,7 @@ Vous pouvez facilement superviser votre session `R` avec le **gestionnaire des t ### Ouvrir le gestionnaire des tâches -Le gestionnaire des tâches est une application installée sur toutes les machines -Windows. Son équivalent Linux est `htop`. Le gestionnaire des tâches est -généralement accessible avec le raccourci bien connu +Le gestionnaire des tâches est une application installée sur toutes les machines Windows. Son équivalent Linux est `htop`. Le gestionnaire des tâches est généralement accessible avec le raccourci bien connu Ctrl + Alt + Suppr. ::: {.callout-insee .icon} @@ -101,12 +99,12 @@ Voici trois références à garder en tête pour superviser votre session `R` : - **Votre utilisation de la mémoire vive est excessive lorsqu'elle dépasse durablement 50 Go alors que vous ne réalisez pas de traitement.** Vous pouvez évidemment utiliser beaucoup plus de mémoire pendant un traitement particulièrement lourd. - **Votre utilisation des processeurs est excessive lorsqu'elle dépasse durablement 25%.** -### Que faire en cas de saturation ? - -Il faut ouvrir un ticket Si\@moi pour signaler un problème de saturation à l'assistance informatique dans les deux cas suivants : +::: {.callout-insee .icon} +En cas de saturation, il faut ouvrir un ticket Si\@moi pour signaler un problème de saturation à l'assistance informatique dans les deux cas suivants : - l'ensemble du serveur est durablement saturé (plus de 15 minutes) ; - votre session `R` fait un usage excessif des ressources informatiques et vous ne parvenez pas à arrêter votre traitement. +::: ## Comment limiter la consommation de mémoire vive avec `R` ? @@ -172,9 +170,9 @@ utilitr::include_image("../pics/utiliser_ressources/gc_gui2.png", compression = Voici deux remarques sur la fonction `gc()` : - Plus la session `R` occupe de mémoire vive, plus la fonction `gc()` met de temps à nettoyer la mémoire. Ce nettoyage peut prendre jusqu'à plusieurs minutes si vous manipulez des données volumineuses. -- Certaines ressources documentaires sur `R` affirment qu'il est inutile de se servir de `gc()` car `R` nettoie automatiquement la mémoire vive lorsqu'elle est presque saturée. Ceci est vrai lorsque vous utilisez `R` sur votre poste local (et où il n'y a qu'une seule session `R`). En revanche, ce n'est pas vrai dans le cas où plusieurs sessions `R` partagent la mémoire vive comme dans AUS (car votre session `R` ne peut déclencher le nettoyage de la mémoire vive dans la session `R` d'un autre agent). +- Certaines ressources documentaires sur `R` affirment qu'il est inutile de se servir de `gc()` car `R` nettoie automatiquement la mémoire vive lorsqu'elle est presque saturée. Ceci est vrai lorsque vous utilisez `R` sur votre poste local (et où il n'y a qu'une seule session `R`). En revanche, ce n'est pas vrai dans le cas où plusieurs sessions `R` partagent la mémoire vive (car votre session `R` ne peut déclencher le nettoyage de la mémoire vive dans la session `R` d'un autre utilisateur). ::: -### Et si tout cela ne suffit pas ? - +::: {.callout-insee .icon} Les conseils et les bonnes pratiques présentés dans cette fiche devraient suffire à résoudre la plupart des problèmes de saturation que vous pourriez rencontrer. Toutefois, il est possible que cela ne suffise pas, parce que vos traitements requièrent des ressources informatiques particulièrement importantes. En ce cas, il faut déposer une demande métier dans Si\@moi. +::: diff --git a/03_Fiches_thematiques/Fiche_api.qmd b/03_Fiches_thematiques/Fiche_api.qmd index b28e7894..35fa874f 100644 --- a/03_Fiches_thematiques/Fiche_api.qmd +++ b/03_Fiches_thematiques/Fiche_api.qmd @@ -2,7 +2,7 @@ L'utilisateur souhaite accéder à des données _via_ une API. -::: recommandation +::: {.callout-recommandation .icon} - En premier lieu, il est recommandé de vérifier s'il existe un _package_ `R` spécifique à l'API que vous voulez utiliser. - S'il n'existe de _package_ spécifique,il est recommandé d'utiliser diff --git a/03_Fiches_thematiques/Fiche_configurer_git.qmd b/03_Fiches_thematiques/Fiche_configurer_git.qmd index f12b9341..8db6d3f4 100644 --- a/03_Fiches_thematiques/Fiche_configurer_git.qmd +++ b/03_Fiches_thematiques/Fiche_configurer_git.qmd @@ -6,7 +6,7 @@ L'utilisateur souhaite versionner son projet depuis son poste de travail en ayan L'utilisation du logiciel `Git` en local, qui relève plutôt de l'usage quotidien du logiciel, est reportée dans une fiche dédiée ([Utiliser Git avec RStudio](#git)). -::: recommandation +::: {.callout-recommandation .icon} * Pour interagir avec un dépôt `Git` distant, l'utilisateur a le choix entre deux protocoles d'authentification : `SSH` ou `HTTPS`. * Il est conseillé d'utiliser le protocole `HTTPS` qui est simple à configurer. diff --git a/03_Fiches_thematiques/Fiche_rprojects.qmd b/03_Fiches_thematiques/Fiche_rprojects.qmd index 3ff7795d..d6c55729 100644 --- a/03_Fiches_thematiques/Fiche_rprojects.qmd +++ b/03_Fiches_thematiques/Fiche_rprojects.qmd @@ -1,6 +1,6 @@ # Utiliser les projets `RStudio` {#rproject} -::: recommandation +::: {.callout-recommandation .icon} - Il est recommandé d'utiliser systématiquement les projets RStudio pour mener des projets statistiques avec `R`, car ils contribuent à rendre les traitements reproductibles. diff --git a/03_Fiches_thematiques/Fiche_se_documenter.qmd b/03_Fiches_thematiques/Fiche_se_documenter.qmd index f483f802..ba8237d3 100644 --- a/03_Fiches_thematiques/Fiche_se_documenter.qmd +++ b/03_Fiches_thematiques/Fiche_se_documenter.qmd @@ -10,7 +10,7 @@ Vous souhaitez vous y retrouver dans les différents niveaux de documentation qu -::: recommandation +::: {.callout-recommandation .icon} * si vous souhaitez en savoir davantage sur l'utilisation d'une fonction dont vous connaissez l'existence, il est souvent suffisant de consulter la documentation de la fonction en exécutant `?nomFonction` dans RStudio ;