{"id":4286,"date":"2022-07-05T16:11:43","date_gmt":"2022-07-05T16:11:43","guid":{"rendered":"https:\/\/nenadnoveljic.com\/blog\/?p=4286"},"modified":"2022-07-12T12:12:27","modified_gmt":"2022-07-12T12:12:27","slug":"slabinfo","status":"publish","type":"post","link":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/","title":{"rendered":"slabinfo"},"content":{"rendered":"<p>The whole memory on one of our Oracle Linux VMs was exhausted. The out of memory killer started killing the processes:<\/p>\n<pre><code>Jun 29 10:32:48 host kernel: OSWatcher.sh invoked oom-killer: gfp_mask=0x400dc0(GFP_KERNEL_ACCOUNT|__GFP_ZERO), order=1, oom_score_adj=0<\/code><\/pre>\n<p>The OS watcher was collecting the information in \/proc\/meminfo, which proved invaluable for the analysis. Almost the whole memory was consumed by slabs. The slab grew from <span style=\"color:green\">2928720 kB<\/span> to <span style=\"color:red\">77052224 kB<\/span> within a couple of minutes:<\/p>\n<pre><code>grid@host:\/u00\/oracle\/GI\/gridbase\/oracle.ahf\/data\/repository\/suptools\/host\/oswbb\/grid\/archive\/oswmeminfo&gt; egrep \"zzz|Slab|MemAvailable\" host_meminfo_22.06.29.1000.dat<\/code><\/pre>\n<pre><code>zzz ***Wed Jun 29 10:24:15 CEST 2022\nMemAvailable:   50734336 kB\n<span style=\"color:green\">Slab:            2928720 kB<\/span>\nzzz ***Wed Jun 29 10:24:45 CEST 2022\nMemAvailable:   50754784 kB\nSlab:            2928428 kB\nzzz ***Wed Jun 29 10:25:15 CEST 2022\nMemAvailable:   50748708 kB\nSlab:            2928400 kB\nzzz ***Wed Jun 29 10:25:45 CEST 2022\nMemAvailable:    4890828 kB\nSlab:           47753392 kB\nzzz ***Wed Jun 29 10:26:15 CEST 2022\nMemAvailable:     853208 kB\nSlab:           52054036 kB\nzzz ***Wed Jun 29 10:26:45 CEST 2022\nMemAvailable:     767924 kB\nSlab:           52249192 kB\nzzz ***Wed Jun 29 10:27:15 CEST 2022\nMemAvailable:     750048 kB\nSlab:           52442408 kB\nzzz ***Wed Jun 29 10:27:45 CEST 2022\nMemAvailable:     673256 kB\nSlab:           52612572 kB\nzzz ***Wed Jun 29 10:28:15 CEST 2022\nMemAvailable:     692748 kB\nSlab:           53122860 kB\nzzz ***Wed Jun 29 10:28:45 CEST 2022\nMemAvailable:     595100 kB\nSlab:           53553064 kB\nzzz ***Wed Jun 29 10:29:16 CEST 2022\nMemAvailable:     568432 kB\nSlab:           53969576 kB\nzzz ***Wed Jun 29 10:29:46 CEST 2022\nMemAvailable:     572700 kB\nSlab:           54801556 kB\nzzz ***Wed Jun 29 10:30:16 CEST 2022\nMemAvailable:     615584 kB\nSlab:           55338836 kB\nzzz ***Wed Jun 29 10:30:46 CEST 2022\nMemAvailable:     599560 kB\nSlab:           55715568 kB\nzzz ***Wed Jun 29 10:31:16 CEST 2022\nMemAvailable:     555600 kB\nSlab:           55861032 kB\nzzz ***Wed Jun 29 10:31:47 CEST 2022\nMemAvailable:     556200 kB\nSlab:           56051892 kB\nzzz ***Wed Jun 29 10:32:17 CEST 2022\nMemAvailable:     491812 kB\nSlab:           56165600 kB\nzzz ***Wed Jun 29 10:32:48 CEST 2022\nMemAvailable:     468500 kB\nSlab:           56284980 kB\nzzz ***Wed Jun 29 10:33:18 CEST 2022\nMemAvailable:    2326488 kB\nSlab:           74419980 kB\nzzz ***Wed Jun 29 10:35:40 CEST 2022\nMemAvailable:     227620 kB\nSlab:           77052224 kB\nzzz ***Wed Jun 29 10:38:11 CEST 2022\nMemAvailable:     229028 kB\nSlab:           77059908 kB\nzzz ***Wed Jun 29 10:42:13 CEST 2022\nMemAvailable:     227812 kB\nSlab:           77067504 kB\nzzz ***Wed Jun 29 10:48:35 CEST 2022\nMemAvailable:     236408 kB\nSlab:           77081200 kB\nzzz ***Wed Jun 29 10:49:42 CEST 2022\nMemAvailable:     224536 kB\nSlab:           77095736 kB\nzzz ***Wed Jun 29 10:54:03 CEST 2022\nMemAvailable:     232752 kB\nSlab:           77107492 kB\nzzz ***Wed Jun 29 10:55:58 CEST 2022\nMemAvailable:     222448 kB\nSlab:           77118004 kB\nzzz ***Wed Jun 29 10:57:48 CEST 2022\nMemAvailable:     227048 kB\nSlab:           77127064 kB\nzzz ***Wed Jun 29 11:00:05 CEST 2022\nMemAvailable:     215600 kB\n<span style=\"color:red\">Slab:           77137560 kB<\/span><\/code><\/pre>\n<p>The nextstep would have been to show the breakdown of slab allocations to see which slab was causing the problem.<\/p>\n<p>This can be done, for example, with slabtop (the outputs below were taken after the problem disappeared):<\/p>\n<pre><code>slabtop<\/code><\/pre>\n<pre><code>Active \/ Total Objects (% used)    : 4618223 \/ 4645386 (99.4%)\n Active \/ Total Slabs (% used)      : 78179 \/ 78179 (100.0%)\n Active \/ Total Caches (% used)     : 101 \/ 141 (71.6%)\n Active \/ Total Size (% used)       : 826284.55K \/ 837056.44K (98.7%)\n Minimum \/ Average \/ Maximum Object : 0.01K \/ 0.18K \/ 8.00K\n\n  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ\/SLAB CACHE SIZE NAME\n1029405 1029181  99%    0.20K  26395       39    211160K dentry\n566076 566076 100%    0.09K  13478       42     53912K kmalloc-rcl-96\n417280 417280 100%    0.01K    815      512      3260K kmalloc-8\n378250 378250 100%    0.02K   2225      170      8900K avtab_node\n334976 332731  99%    0.03K   2617      128     10468K kmalloc-32\n303461 302987  99%    0.05K   4157       73     16628K Acpi-Parse\n231040 231040 100%    0.06K   3610       64     14440K kmalloc-64\n220672 220672 100%    0.02K    862      256      3448K kmalloc-16\n200736 200489  99%    0.04K   1968      102      7872K avtab_extended_perms\n195120 193680  99%    1.06K   6504       30    208128K xfs_inode\n128632 128632 100%    0.57K   2297       56     73504K radix_tree_node\n 94878  94350  99%    0.19K   2259       42     18072K dmaengine-unmap-16\n 67524  66956  99%    0.62K   1324       51     42368K inode_cache<\/code><\/pre>\n<p>Another way is vmstat -m:<\/p>\n<pre><code>vmstat -m | sort -k 3 -n -r<\/code><\/pre>\n<pre><code>Cache                       Num  Total   Size  Pages\ndentry                   1057538 1058109    208     39\nkmalloc-rcl-96           566076 566076     96     42\nkmalloc-8                417280 417280      8    512\navtab_node               378250 378250     24    170\nkmalloc-32               335889 337024     32    128\nAcpi-Parse               329632 330106     56     73\nkmalloc-64               233600 233600     64     64\nkmalloc-16               220928 220928     16    256\navtab_extended_perms     201042 201042     40    102\nxfs_inode                195202 195240   1088     30\nradix_tree_node          136808 136808    584     56\ndmaengine-unmap-16        94920  94920    192     42\ninode_cache               67493  67626    640     51<\/code><\/pre>\n<p>You can also read \/proc\/slabinfo directly:<\/p>\n<pre><code>cat \/proc\/slabinfo | sort -k 2 -n -r<\/code><\/pre>\n<pre><code>slabinfo - version: 2.1\n# name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables  \t \t \t \t<limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>\ndentry            1075951 1079676    208   39    2 : tunables    0    0    0 : slabdata  27684  27684      0\nkmalloc-rcl-96    566160 566160     96   42    1 : tunables    0    0    0 : slabdata  13480  13480      0\nkmalloc-8         417280 417280      8  512    1 : tunables    0    0    0 : slabdata    815    815      0\navtab_node        378250 378250     24  170    1 : tunables    0    0    0 : slabdata   2225   2225      0\nAcpi-Parse        344990 349086     56   73    1 : tunables    0    0    0 : slabdata   4782   4782      0\nkmalloc-32        339085 340352     32  128    1 : tunables    0    0    0 : slabdata   2659   2659      0\nkmalloc-64        245855 245952     64   64    1 : tunables    0    0    0 : slabdata   3843   3843      0\nkmalloc-16        230400 230400     16  256    1 : tunables    0    0    0 : slabdata    900    900      0\navtab_extended_perms 211344 211344     40  102    1 : tunables    0    0    0 : slabdata   2072   2072      0\nxfs_inode         207539 207540   1088   30    8 : tunables    0    0    0 : slabdata   6918   6918      0\nradix_tree_node   155786 156016    584   56    8 : tunables    0    0    0 : slabdata   2786   2786      0\ndmaengine-unmap-16 100842 100842    192   42    2 : tunables    0    0    0 : slabdata   2401   2401      0\ninode_cache        68388  68850    640   51    8 : tunables    0    0    0 : slabdata   1350   1350      0<\/sharedavail><\/num_slabs><\/active_slabs><\/sharedfactor><\/batchcount><\/limit><\/pagesperslab><\/objperslab><\/objsize><\/num_objs><\/active_objs><\/code><\/pre>\n<p>The OSWatcher chooses the last approach for getting the slabs information &#8211; it reads the file \/proc\/slabinfo.<\/p>\n<p>Unfortunately, this file is readable only by root, so the OSWatcher, which is running under grid, isn&#8217;t collecting the information:<\/p>\n<pre><code>ls -l \/proc\/slabinfo\n-r--------. 1 root root 0 Jun 29 15:04 \/proc\/slabinfo<\/code><\/pre>\n<p>The purpose of this blog post is to show how to display the slabs allocations and warn that you need to change the permissions on \/proc\/slabinfo to make sure that OSWatcher can collect this information.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Check your \/proc\/slabinfo permissions if your Oracle OSWatcher isn&#8217;t running under root. <a href=\"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/\" class=\"more-link\">Continue Reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[54,5,55],"tags":[],"class_list":["post-4286","post","type-post","status-publish","format-standard","hentry","category-linux","category-oracle","category-slab"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>slabinfo - All-round Database Topics<\/title>\n<meta name=\"description\" content=\"Check your \/proc\/slabinfo permissions if your OSWatcher isn&#039;t running under root.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"slabinfo - All-round Database Topics\" \/>\n<meta property=\"og:description\" content=\"Check your \/proc\/slabinfo permissions if your OSWatcher isn&#039;t running under root.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/\" \/>\n<meta property=\"og:site_name\" content=\"All-round Database Topics\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-05T16:11:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-12T12:12:27+00:00\" \/>\n<meta name=\"author\" content=\"Nenad Noveljic\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@NenadNoveljic\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nenad Noveljic\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/slabinfo\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/slabinfo\\\/\"},\"author\":{\"name\":\"Nenad Noveljic\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#\\\/schema\\\/person\\\/51458d9dd86dbbdd19f5add451d44efa\"},\"headline\":\"slabinfo\",\"datePublished\":\"2022-07-05T16:11:43+00:00\",\"dateModified\":\"2022-07-12T12:12:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/slabinfo\\\/\"},\"wordCount\":182,\"commentCount\":0,\"articleSection\":[\"Linux\",\"Oracle\",\"slab\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/slabinfo\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/slabinfo\\\/\",\"url\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/slabinfo\\\/\",\"name\":\"slabinfo - All-round Database Topics\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#website\"},\"datePublished\":\"2022-07-05T16:11:43+00:00\",\"dateModified\":\"2022-07-12T12:12:27+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#\\\/schema\\\/person\\\/51458d9dd86dbbdd19f5add451d44efa\"},\"description\":\"Check your \\\/proc\\\/slabinfo permissions if your OSWatcher isn't running under root.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/slabinfo\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/slabinfo\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/slabinfo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"slabinfo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/\",\"name\":\"All-round Database Topics\",\"description\":\"Nenad Noveljic\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#\\\/schema\\\/person\\\/51458d9dd86dbbdd19f5add451d44efa\",\"name\":\"Nenad Noveljic\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g\",\"caption\":\"Nenad Noveljic\"},\"sameAs\":[\"nenad-noveljic-9b746a6\",\"https:\\\/\\\/x.com\\\/NenadNoveljic\"],\"url\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/author\\\/nenad\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"slabinfo - All-round Database Topics","description":"Check your \/proc\/slabinfo permissions if your OSWatcher isn't running under root.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/","og_locale":"en_US","og_type":"article","og_title":"slabinfo - All-round Database Topics","og_description":"Check your \/proc\/slabinfo permissions if your OSWatcher isn't running under root.","og_url":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/","og_site_name":"All-round Database Topics","article_published_time":"2022-07-05T16:11:43+00:00","article_modified_time":"2022-07-12T12:12:27+00:00","author":"Nenad Noveljic","twitter_card":"summary_large_image","twitter_creator":"@NenadNoveljic","twitter_misc":{"Written by":"Nenad Noveljic","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/#article","isPartOf":{"@id":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/"},"author":{"name":"Nenad Noveljic","@id":"https:\/\/nenadnoveljic.com\/blog\/#\/schema\/person\/51458d9dd86dbbdd19f5add451d44efa"},"headline":"slabinfo","datePublished":"2022-07-05T16:11:43+00:00","dateModified":"2022-07-12T12:12:27+00:00","mainEntityOfPage":{"@id":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/"},"wordCount":182,"commentCount":0,"articleSection":["Linux","Oracle","slab"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nenadnoveljic.com\/blog\/slabinfo\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/","url":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/","name":"slabinfo - All-round Database Topics","isPartOf":{"@id":"https:\/\/nenadnoveljic.com\/blog\/#website"},"datePublished":"2022-07-05T16:11:43+00:00","dateModified":"2022-07-12T12:12:27+00:00","author":{"@id":"https:\/\/nenadnoveljic.com\/blog\/#\/schema\/person\/51458d9dd86dbbdd19f5add451d44efa"},"description":"Check your \/proc\/slabinfo permissions if your OSWatcher isn't running under root.","breadcrumb":{"@id":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nenadnoveljic.com\/blog\/slabinfo\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nenadnoveljic.com\/blog\/slabinfo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nenadnoveljic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"slabinfo"}]},{"@type":"WebSite","@id":"https:\/\/nenadnoveljic.com\/blog\/#website","url":"https:\/\/nenadnoveljic.com\/blog\/","name":"All-round Database Topics","description":"Nenad Noveljic","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nenadnoveljic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/nenadnoveljic.com\/blog\/#\/schema\/person\/51458d9dd86dbbdd19f5add451d44efa","name":"Nenad Noveljic","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g","caption":"Nenad Noveljic"},"sameAs":["nenad-noveljic-9b746a6","https:\/\/x.com\/NenadNoveljic"],"url":"https:\/\/nenadnoveljic.com\/blog\/author\/nenad\/"}]}},"_links":{"self":[{"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/posts\/4286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/comments?post=4286"}],"version-history":[{"count":1,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/posts\/4286\/revisions"}],"predecessor-version":[{"id":4290,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/posts\/4286\/revisions\/4290"}],"wp:attachment":[{"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/media?parent=4286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/categories?post=4286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/tags?post=4286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}