{"id":869,"date":"2025-04-13T23:31:18","date_gmt":"2025-04-13T23:31:18","guid":{"rendered":"https:\/\/gnikesh.com\/?p=869"},"modified":"2025-04-13T23:38:21","modified_gmt":"2025-04-13T23:38:21","slug":"gpu-monitoring-app-with-django","status":"publish","type":"post","link":"https:\/\/gnikesh.com\/index.php\/2025\/04\/13\/gpu-monitoring-app-with-django\/","title":{"rendered":"GPU Monitoring app with Django"},"content":{"rendered":"\n<p>Ever wished for a simple, clean way to monitor your GPU usage without diving into terminal commands or heavy dashboards? I recently built a <strong>tiny GPU monitoring web app<\/strong> that does exactly that\u2014lightweight, easy to deploy, and super useful if you\u2019re running GPU workloads.<\/p>\n\n\n\n<p><strong>A screenshot of the UI:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"455\" src=\"https:\/\/gnikesh.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-13-at-18.27.17-1024x455.png\" alt=\"\" class=\"wp-image-899\" srcset=\"https:\/\/gnikesh.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-13-at-18.27.17-1024x455.png 1024w, https:\/\/gnikesh.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-13-at-18.27.17-300x133.png 300w, https:\/\/gnikesh.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-13-at-18.27.17-768x341.png 768w, https:\/\/gnikesh.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-13-at-18.27.17-1536x682.png 1536w, https:\/\/gnikesh.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-13-at-18.27.17-2048x909.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udee0 Details of the app<\/h3>\n\n\n\n<p>This project is a <strong>minimal GPU monitoring tool<\/strong> built using:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Django<\/strong> \u2013 a reliable and robust Python web framework<\/li>\n\n\n\n<li><strong>gpustat<\/strong> \u2013 a Python library that provides detailed GPU stats like usage, memory, and active processes<\/li>\n<\/ul>\n\n\n\n<p>The app gives you a web interface that displays real-time GPU info, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83d\udd0d Which GPUs are currently active<\/li>\n\n\n\n<li>\ud83d\udc65 Which users are running GPU-intensive processes<\/li>\n\n\n\n<li>\ud83d\udcca How much GPU memory is being used by each user<\/li>\n<\/ul>\n\n\n\n<p>It\u2019s especially handy in shared environments like research labs or server clusters where multiple users run jobs on the same machine.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2699\ufe0f Features<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u2705 Real-time monitoring of GPU usage and memory stats<\/li>\n\n\n\n<li>\u2705 Lists per-user processes using the GPU<\/li>\n\n\n\n<li>\u2705 Easy-to-use web interface<\/li>\n\n\n\n<li>\u2705 Lightweight and fast to deploy<\/li>\n\n\n\n<li>\u2705 Built on Django\u2014customize or extend as needed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd17 Check It Out<\/h3>\n\n\n\n<p>You can find the full source code and setup instructions here:<br>\ud83d\udc49 <a href=\"https:\/\/github.com\/gnikesh\/gpu-monitor\">https:\/\/github.com\/gnikesh\/gpu-monitor<\/a><\/p>\n\n\n\n<p>Feel free to check it out, test it, and share any feedback or ideas for improvement. Contributions are always welcome!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ever wished for a simple, clean way to monitor your GPU usage without diving into terminal commands or heavy dashboards? I recently built a tiny GPU monitoring web app that does exactly that\u2014lightweight, easy to deploy, and super useful if you\u2019re running GPU workloads. A screenshot of the UI: \ud83d\udee0 Details of the app This [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[7],"tags":[19,20],"class_list":["post-869","post","type-post","status-publish","format-standard","hentry","category-computer-science","tag-computer","tag-programming"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/posts\/869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/comments?post=869"}],"version-history":[{"count":2,"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/posts\/869\/revisions"}],"predecessor-version":[{"id":901,"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/posts\/869\/revisions\/901"}],"wp:attachment":[{"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/media?parent=869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/categories?post=869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gnikesh.com\/index.php\/wp-json\/wp\/v2\/tags?post=869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}