{"id":485,"date":"2016-03-01T22:04:28","date_gmt":"2016-03-01T22:04:28","guid":{"rendered":"http:\/\/tex.fr\/?p=485"},"modified":"2016-03-01T22:04:28","modified_gmt":"2016-03-01T22:04:28","slug":"erreurs-windows-et-corrections","status":"publish","type":"post","link":"https:\/\/tex.fr\/index.php\/2016\/03\/01\/erreurs-windows-et-corrections\/","title":{"rendered":"R\u00e9paration des compteurs de performance"},"content":{"rendered":"<h6>Erreurs de la cat\u00e9gorie perfmon, perflib et counter<\/h6>\n<p>Cet article d\u00e9crit comment corriger les erreurs journalis\u00e9es dans l&#8217;observateur d&#8217;\u00e9v\u00e8nements li\u00e9es aux compteurs de performance, telles que :<\/p>\n<p><span style=\"color: #ff0000;\">Event ID 1008<\/span> : \u00ab<span style=\"color: #3366ff;\"><em>\u00c9chec de la proc\u00e9dure d\u2019ouverture pour le service \u00abusbhub\u00bb dans la DLL \u00ab\u00a0C:\\WINDOWS\\system32\\usbperf.dll\u00a0\u00bb. Les donn\u00e9es de performance de ce service ne seront pas disponibles. Le premier mot (DWORD) de la section Donn\u00e9es contient le code d\u2019erreur<\/em><\/span>.\u00bb<\/p>\n<p>ou encore<\/p>\n<p><span style=\"color: #ff0000;\">Event ID 3009<\/span> : \u00ab<span style=\"color: #3366ff;\"><em>L\u2019installation des cha\u00eenes de compteurs de performances pour le service UGTHRSVC (\b) a \u00e9chou\u00e9. Le premier DWORD de la section Data contient le code d\u2019erreur.<\/em><\/span>\u00bb<\/p>\n<p>ou encore<\/p>\n<p><span style=\"color: #ff0000;\">Event ID 2001<\/span> : \u00ab<span style=\"color: #3366ff;\"><em>Impossible de lire la valeur \u00ab\u00a0First Counter\u00a0\u00bb sous la cl\u00e9 usbperf\\Performance. Les codes d\u2019\u00e9tat sont renvoy\u00e9s dans les donn\u00e9es.<\/em><\/span>\u00bb<\/p>\n<p>ou encore<\/p>\n<p><span style=\"color: #ff0000;\">Event ID 2007<\/span>: \u00ab<span style=\"color: #3366ff;\"><em>Impossible de r\u00e9parer les compteurs de performance pour le service UGTHRSVC. R\u00e9installez les compteurs de performances en utilisant l\u2019outil LODCTR.<\/em><\/span>\u00bb<\/p>\n<h4>Reconstruction de tous les compteurs existants<\/h4>\n<p>La r\u00e9paration des compteurs n&#8217;est pas tr\u00e8s difficile mais peut s&#8217;av\u00e9rer quelque fois fastidieuse. Si votre observateur d\u2019\u00e9v\u00e8nements indique que plusieurs compteurs sont endommag\u00e9s le mieux est de reconstruire tous les compteurs en un seule \u00e9tape.<\/p>\n<p>L&#8217;outil windows d\u00e9di\u00e9 au compteurs est l&#8217;utilitaire en ligne de commande <em>lodctr<\/em>.<br \/>\nSous <em>windows 10<\/em> Pour reconstruire les en une seule op\u00e9ration tous les compteurs de performances enregistr\u00e9s sur le syst\u00e8me on invoque <em>lodctr <\/em>avec l&#8217;option<em> \/R , <\/em>une fois dans le r\u00e9pertoire <em>system32<\/em> et une autre fois dans le r\u00e9pertoire syswow64. Ensuite on lance une resynchonisation des compteurs de performance avec <em>winmgmt<\/em>.<\/p>\n<div class=\"console\"><span class=\"ctitre\">reconstruction des compteurs enregistr\u00e9s<\/span><br \/>\nC:\\Windows\\system32&gt;<span style=\"color: #ffff00;\">lodctr \/R<\/span><\/p>\n<p>C:\\Windows\\system32&gt;<span style=\"color: #ffff00;\">cd C:\\Windows\\syswow64<\/span><\/p>\n<p>C:\\Windows\\syswow64&gt;<span style=\"color: #ffff00;\">lodctr \/R<\/span><\/p>\n<p>C:\\Windows\\syswow64&gt;<span style=\"color: #ffff00;\">winmgmt.exe \/RESYNCPERF<\/span><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h4>Reconstruction unitaire d&#8217;un compteur d\u00e9faillant<\/h4>\n<p>Chaque compteur de performance est associ\u00e9 \u00e0 un service, pour reconstruire un compteur il faut recharger le fichier .ini du service avec l&#8217;utilitaire <em>lodctr<\/em>. Pour le service <span style=\"color: #0000ff;\"><em>monService<\/em> <\/span>on trouvera le fichier .ini dans le r\u00e9pertoire <span style=\"color: #0000ff;\">c:\\windows\\inf\\<em>monService<\/em><\/span>. Tout d\u00e9pend du message d&#8217;erreur qu&#8217;on lit dans l&#8217;observateur d&#8217;\u00e9v\u00e8nement, quelque fois le nom du service qui est cit\u00e9 dans le message d&#8217;erreur est identique au nom du r\u00e9pertoire , d&#8217;autre fois cela peut \u00eatre un peu compliqu\u00e9 car le nom peut avoir par exemple \u00e9t\u00e9 traduit en fran\u00e7ais.<\/p>\n<p>Par exemple dans le cas des erreurs <span style=\"color: #ff0000;\"><em>1008 Perflib: <\/em><\/span><span style=\"color: #ff0000;\">\u00c9chec de la proc\u00e9dure d\u2019ouverture pour le service \u00ab <span style=\"color: #0000ff;\">ESENT<\/span> \u00bb dans la DLL..<\/span> le nom du r\u00e9pertoire sera <span style=\"color: #0000ff;\">c:\\windows\\inf\\esent<\/span>.<\/p>\n<p>Prenons le cas du compteur <span style=\"color: #ff0000;\"><span style=\"color: #0000ff;\">ESENT<\/span> <\/span>,\u00a0ouvrons une fen\u00eatre de commande en mode admin et rendez-vous dans le r\u00e9pertoire <em>\\windows\\inf\\esent<\/em><\/p>\n<div class=\"console\"><span class=\"ctitre\">reconstruction d&#8217;un compteur<\/span><br \/>\nMicrosoft Windows [version 10.0.10586]<br \/>\n(c) 2015 Microsoft Corporation. Tous droits r\u00e9serv\u00e9s.<br \/>\nC:\\WINDOWS\\system32&gt;<span style=\"color: #ffff00;\">cd \\Windows\\INF\\ESENT<\/span><\/p>\n<p>C:\\Windows\\INF\\ESENT&gt;<span style=\"color: #ffff00;\">dir<\/span><br \/>\nLe volume dans le lecteur C n\u2019a pas de nom.<br \/>\nLe num\u00e9ro de s\u00e9rie du volume est 5420-B09C<\/p>\n<p>R\u00e9pertoire de C:\\Windows\\INF\\ESENT<\/p>\n<p>30\/10\/2015\u00a0 20:00\u00a0\u00a0\u00a0 &lt;DIR&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 .<br \/>\n30\/10\/2015\u00a0 20:00\u00a0\u00a0\u00a0 &lt;DIR&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ..<br \/>\n30\/10\/2015\u00a0 08:24\u00a0\u00a0\u00a0 &lt;DIR&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0000<br \/>\n30\/10\/2015\u00a0 20:00\u00a0\u00a0\u00a0 &lt;DIR&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 040C<br \/>\n30\/10\/2015\u00a0 08:17\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 34\u00a0218 esentprf.hxx<br \/>\n1 fichier(s)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 34\u00a0218 octets<br \/>\n4 R\u00e9p(s)\u00a0 138\u00a0081\u00a0681\u00a0408 octets libres<\/p>\n<p>C:\\Windows\\INF\\ESENT&gt;<\/p>\n<\/div>\n<p>&nbsp;<br \/>\nOn se retrouve face \u00e0 2 r\u00e9pertoires contenant chacun un fichier esentprf.ini, 0000 contient le fichier en anglais, 040C contient sa version en fran\u00e7ais (<i>040C est la valeur hexad\u00e9cimale de la locale windows pour le fran\u00e7ais, consultez <a href=\"https:\/\/msdn.microsoft.com\/en-us\/goglobal\/bb895996.aspx\" target=\"_blank\" rel=\"noopener\">Language Collections<\/a>\u00a0pour une liste exhaustive<\/i>). Pour certain compteur, le r\u00e9pertoire 040C est remplac\u00e9 par le r\u00e9pertoire 00C.<\/p>\n<p>Dans le cas de notre exemple du compteur <span style=\"color: #ff0000;\">ESENT<\/span>, la reconstruction se fera en rechargeant le fichier <em>040C\\esentprf.ini<\/em> avec <em>lodctr<\/em><\/p>\n<div class=\"console\"><span class=\"ctitre\">reconstruction compteur<\/span><\/p>\n<p>C:\\Windows\\INF\\ESENT&gt;<span style=\"color: #ffff00;\">lodctr 040c\\esentprf.ini<\/span><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<p><b>V\u00e9rification de la reconstruction<\/b><br \/>\nQuand <em>lodctr <\/em>reconstruit le compteur du service <em>&#8220;monservice&#8221;<\/em>, il ajoute des informations dans le registre sous la cl\u00e9 HLM\\System\\CurrentControlSet\\Services\\monservice\\Performance<\/p>\n<figure id=\"attachment_522\" aria-describedby=\"caption-attachment-522\" style=\"width: 994px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/tex.fr\/wp-content\/uploads\/2016\/03\/registreesent.png\" rel=\"attachment wp-att-522\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-522 size-full\" src=\"https:\/\/tex.fr\/wp-content\/uploads\/2016\/03\/registreesent.png\" alt=\"registreesent\" width=\"994\" height=\"416\" \/><\/a><figcaption id=\"caption-attachment-522\" class=\"wp-caption-text\">les compteurs du service esent dans le registre<\/figcaption><\/figure>\n<p>La seconde chose que fait <em>lodctr<\/em> quand il reconstruit un compteur, c&#8217;est d&#8217;alimenter les r\u00e9f\u00e9rences et les noms des compteurs utilis\u00e9s par l&#8217;analyseur de performances.<\/p>\n<figure id=\"attachment_523\" aria-describedby=\"caption-attachment-523\" style=\"width: 985px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/tex.fr\/wp-content\/uploads\/2016\/03\/performanceesent.png\" rel=\"attachment wp-att-523\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-523 size-full\" src=\"https:\/\/tex.fr\/wp-content\/uploads\/2016\/03\/performanceesent.png\" alt=\"performanceesent\" width=\"985\" height=\"702\" \/><\/a><figcaption id=\"caption-attachment-523\" class=\"wp-caption-text\">les compteurs esent (base de donn\u00e9es) dans l&#8217;analyseur de performance<\/figcaption><\/figure>\n<p><em>Le fichier PerfStringBackup.ini<\/em><br \/>\nQuand les 2 op\u00e9rations, reconstruction du registre et mise \u00e0 jour de l&#8217;analyseur de performance, se sont bien d\u00e9roul\u00e9es, <em>lodctr <\/em>met \u00e0 jour le fichier <em>c:\\windows\\System32\\PerfStringBackup.ini<\/em> avec les \u00e9l\u00e9ments du compteur. Vous savez que tout s&#8217;est bien pass\u00e9 en v\u00e9rifiant que ce fichier a \u00e9t\u00e9 mis \u00e0 jour. Ce fichier peut s&#8217;av\u00e9rer utile si plus tard en cas de nouveau probl\u00e8me vous d\u00e9cidez de reconstruire en une seule op\u00e9ration tous vos compteurs que vous aviez patiemment corrig\u00e9s, pour cela il vous suffira d&#8217;invoquer la commande <em>lodctr \/R:perfStringBackup.ini&#8221;<\/em>.<\/p>\n<p><a name=\"perf\"><\/a>Le fichier <strong>perfStringBackup.ini<\/strong> est constitu\u00e9 de 2 parties:<br \/>\n&#8211; Une premi\u00e8re dans lequel se trouve la r\u00e9f\u00e9rence des 4 cl\u00e9s First\/Last counter et First\/Last Help pour le compteur su service.<\/p>\n<pre>\/\/ la r\u00e9f\u00e9rence des compteurs du service ESENT dans le fichier perfStringBackup.ini\n....\n[PERF_ESENT]\nFirst Counter=<span style=\"color: green;\">2476<\/span>\nFirst Help=<span style=\"color: blue;\">2477<\/span>\nLast Counter=<span style=\"color: green;\">4368<\/span>\nLast Help=<span style=\"color: blue;\">4369<\/span>\n.....\n<\/pre>\n<p>&#8211; Une seconde partie qui contient la table de r\u00e9f\u00e9rence utilis\u00e9e par l&#8217;analyseur de performance.<\/p>\n<pre>\/\/ tables des compteurs du service ESENT dans le fichier perfStringBackup.ini\n....\n<span style=\"color: green;\">2476<\/span>=Database\n<span style=\"color: blue;\">2477<\/span>=Database provides performance statistics for...\n2478=Pages Converted\/sec\n2479=Pages Converted\/sec is the number of times...\n...\n<span style=\"color: green;\">4368<\/span>=Database Cache Size Unused\n<span style=\"color: blue;\">4369<\/span>=Database Cache Size Unused is ...\n...\n<\/pre>\n<p>Pour le service ESENT, vous pouvez constater que dans le fichier <em>perfStringBackup.ini<\/em> la valeur de <em>First Counter<\/em>, <span style=\"color: green;\">2476<\/span>, est celle du premier libell\u00e9 (<span style=\"color: green;\">2476<\/span>=Database) et la valeur de <em>Last Help<\/em>, <span style=\"color: blue;\">4369<\/span>, est celle du dernier libell\u00e9 (<span style=\"color: blue;\">4369<\/span>=Database Cache Size Unused is &#8230;). Ces lignes vont par paires, la premi\u00e8re est le titre du compteur (counter) et celle qui suit son d\u00e9tail (help), ce sont ces titres et d\u00e9tails que vous retrouvez dans la liste des compteurs de l&#8217;analyseur de performance.<\/p>\n<p><b>R\u00e9soudre les probl\u00e8mes de reconstruction<\/b><br \/>\nParfois <em>Lodctr<\/em> rencontre quelques probl\u00e8mes pour cr\u00e9er les compteurs, dans ce cas la commande <em>lodctr \/Q<\/em> peut aider \u00e0 v\u00e9rifier que le compteur a correctement \u00e9t\u00e9 ajout\u00e9 au registre. Les 4 valeurs <em>&#8220;First Counter&#8221;, &#8220;Last Counter&#8221;, &#8220;First Help&#8221;, &#8220;Last Help&#8221;<\/em> list\u00e9es par la commande doivent correspondre \u00e0 celles pr\u00e9sentes dans le registre.<\/p>\n<div class=\"console\"><span class=\"ctitre\">v\u00e9rification d&#8217;un compteur<\/span><br \/>\nC:\\Windows\\INF\\ESENT&gt;<span style=\"color: #ffff00;\">lodctr \/Q:esent<\/span><br \/>\nPerformance Counter ID Queries [PERFLIB]:<br \/>\nBase Index: 0x00000737 (1847)<br \/>\nLast Counter Text ID: 0x00002B6A (11114)<br \/>\nLast Help Text ID: 0x00002B6B (11115)[ESENT] Performance Counters (Enabled)<br \/>\nDLL Name: %systemroot%\\system32\\esentprf.dll<br \/>\nOpen Procedure: OpenPerformanceData<br \/>\nCollect Procedure: CollectPerformanceData<br \/>\nClose Procedure: ClosePerformanceData<br \/>\nFirst Counter ID: 0x000009AC (2476)<br \/>\nLast Counter ID: 0x00001110 (4368)<br \/>\nFirst Help ID: 0x000009AD (2477)<br \/>\nLast Help ID: 0x00001111 (4369)<br \/>\nC:\\Windows\\INF\\ESENT&gt;<\/div>\n<p>&nbsp;<\/p>\n<p>Quelque fois il arrive que <em>Lodctr<\/em> reconstruise correctement les 4 cl\u00e9s du registre mais qu&#8217;en revanche il ne soit pas capable d&#8217;ajouter les compteurs dans l&#8217;analyseur de performance. Dans ce cas <em>lodctr<\/em> ne met pas \u00e0 jour le fichier <em>PerfStringBackup.ini<\/em>, cette absence de mise \u00e0 jour lors de la reconstruction est le signal que quelque chose ne s&#8217;est pas correctement pass\u00e9 ou bien qu&#8217;une op\u00e9ration suppl\u00e9mentaire est n\u00e9cessaire.<\/p>\n<p>Par exemple dans le cas d&#8217;erreurs concernant les compteurs du service &#8220;rassembleur&#8221;, il vous faudra vous assurer de mettre \u00e0 jour les compteurs des 2 services <em>UGatherer<\/em> et du service <em>UGTHRSVC<\/em>.<\/p>\n<p>L&#8217;absence du fichier en langue anglaise dans le r\u00e9pertoire <em>\\Windows\\inf\\monService\\0409<\/em> peut \u00e9galement \u00eatre une source de difficult\u00e9. Dans ce cas de figure on peut recopier dans le r\u00e9pertoire 0409 celui pr\u00e9sent dans le r\u00e9pertoire 040C puis l&#8217;\u00e9diter pour remplacer la propri\u00e9t\u00e9 de langue &#8220;00C=French&#8221; par &#8220;009=English&#8221;, ensuite on renouvelle \u00e0 l&#8217;identique l&#8217;op\u00e9ration de reconstruction avec <em>lodctr<\/em> et le fichier pr\u00e9sent dans le r\u00e9pertoire 040C.<\/p>\n<p>Avant de retenter une op\u00e9ration de reconstruction qui n&#8217;aurait pas abouti correctement, il peut s&#8217;av\u00e9rer parfois utile de supprimer (ou renommer) les 4 cl\u00e9s &#8220;First Counter&#8221;, &#8220;First Help&#8221;, &#8220;Last Counter&#8221;, &#8220;Last Help&#8221; du registre pour le service concern\u00e9.<\/p>\n<p>Si la reconstruction d&#8217;un compteur individuel \u00e9choue, alors si votre fichier <em>PerfStringBackup.ini<\/em> est plus ou moins \u00e0 jour vous pouvez l&#8217;utiliser pour recharger l&#8217;ensemble des compteurs (<em>lodctr \/R:\\windows\\system32\\perfStringBackup.ini&#8221;<\/em>). Attention, tous les compteurs qui ne sont pas pr\u00e9sents dans ce fichier se retrouveront dans un \u00e9tat invalide qui n\u00e9cessitera leur reconstruction individuel. Toutefois avant de d\u00e9marrer l&#8217;op\u00e9ration, il est possible d&#8217;ajouter manuellement dans le fichier <em>perfStringBackup.ini<\/em> les entr\u00e9es qui manquent. Pour chaque service manquant, vous devez ajouter le bloc [Perf_monservice] et la liste des paires titre\/d\u00e9tail (nnnn=&#8230; nnnn+1=&#8230;) tout en veillant que les valeurs First\/Last\/Counter\/Help du bloc [Perf_MonService] soient en phase avec les indices de la liste des paires titres\/d\u00e9tails (cf d\u00e9tail <a href=\"#perf\">fichier perfStringBackup.ini<\/a>). Vous pouvez r\u00e9cup\u00e9rer la liste des paires titre\/detail d&#8217;un service sur une autre syst\u00e8me windows, ou la reconstruire en partant du fichier .ini pr\u00e9sent dans le r\u00e9pertoire \\windows\\inf\\Monservice\\040C. Vous pouvez \u00e9galement r\u00e9cup\u00e9rer le fichier <em>perfStringBackup.ini<\/em> d&#8217;une machine de configuration similaire.<\/p>\n<p>Et dans le cas ultime o\u00f9 vous ne r\u00e9ussiriez pas \u00e0 reconstruire les compteurs d&#8217;un service, vous pouvez tout de m\u00eame supprimer le message d&#8217;erreur journalis\u00e9 p\u00e9riodiquement dans l&#8217;observateur d&#8217;\u00e9v\u00e8nements en d\u00e9sactivant le compteur via la commande <em>lodctr \/D:monService<\/em> (l&#8217;option \/E:monService sert \u00e0 le r\u00e9activer).<\/p>\n<p><em><small>Note : La plupart des op\u00e9rations d\u00e9crites dans cet article doivent \u00eatre ex\u00e9cut\u00e9es en mode administrateur, pour savoir comment lancer un fen\u00eatre de commande ou d&#8217;autres ex\u00e9cutable en mode administrateur, consulter https:\/\/tex.fr\/lobservateur-devenements-corriger-erreurs-windows\/<\/small><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Erreurs de la cat\u00e9gorie perfmon, perflib et counter Cet article d\u00e9crit comment corriger les erreurs journalis\u00e9es dans l&#8217;observateur d&#8217;\u00e9v\u00e8nements li\u00e9es aux compteurs de performance, telles que : Event ID 1008 : \u00ab\u00c9chec de la proc\u00e9dure d\u2019ouverture pour le service \u00abusbhub\u00bb dans la DLL \u00ab\u00a0C:\\WINDOWS\\system32\\usbperf.dll\u00a0\u00bb. Les donn\u00e9es de performance de ce service ne seront pas disponibles. &hellip; <a href=\"https:\/\/tex.fr\/index.php\/2016\/03\/01\/erreurs-windows-et-corrections\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">R\u00e9paration des compteurs de performance<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-485","post","type-post","status-publish","format-standard","hentry","category-windows"],"_links":{"self":[{"href":"https:\/\/tex.fr\/index.php\/wp-json\/wp\/v2\/posts\/485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tex.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tex.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tex.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tex.fr\/index.php\/wp-json\/wp\/v2\/comments?post=485"}],"version-history":[{"count":0,"href":"https:\/\/tex.fr\/index.php\/wp-json\/wp\/v2\/posts\/485\/revisions"}],"wp:attachment":[{"href":"https:\/\/tex.fr\/index.php\/wp-json\/wp\/v2\/media?parent=485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tex.fr\/index.php\/wp-json\/wp\/v2\/categories?post=485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tex.fr\/index.php\/wp-json\/wp\/v2\/tags?post=485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}