{"id":35147360,"url":"https://github.com/jtsiomb/xmon","last_synced_at":"2025-12-28T14:08:34.002Z","repository":{"id":326772917,"uuid":"1106744132","full_name":"jtsiomb/xmon","owner":"jtsiomb","description":"Graphical system monitor for UNIX/X11","archived":false,"fork":false,"pushed_at":"2025-12-22T08:28:41.000Z","size":136,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-22T09:16:04.106Z","etag":null,"topics":["cpu-usage","system-monitor"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jtsiomb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-29T21:16:51.000Z","updated_at":"2025-12-22T08:28:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jtsiomb/xmon","commit_stats":null,"previous_names":["jtsiomb/xmon"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jtsiomb/xmon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Fxmon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Fxmon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Fxmon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Fxmon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jtsiomb","download_url":"https://codeload.github.com/jtsiomb/xmon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Fxmon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28100676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-28T02:00:05.685Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpu-usage","system-monitor"],"created_at":"2025-12-28T14:06:33.769Z","updated_at":"2025-12-28T14:08:33.997Z","avatar_url":"https://github.com/jtsiomb.png","language":"C","readme":"xmon - graphical system monitor\n===============================\n\n![xmon](http://nuclear.mutantstargoat.com/sw/xmon/img/xmon-shot003.png)\n\nXmon is a simple graphical system monitoring utility for UNIX and windows.\n\nXmon strives to:\n  - Run on as many systems as possible.\n  - Be as lighweight and efficient as possible.\n  - Run well on systems with reduced colors.\n  - Run well both locally and over the network on X11.\n  - Be as configurable as possible.\n\nCurrently xmon supports: Linux, IRIX, FreeBSD, MacOS X, and Windows.\n\n\nHistory\n-------\nXmon started as an experiment to find a good way to present CPU usage of more\nthan a handful of cores. I was disappointed by existing system monitors which\neither show the average usage (which for a 32-thread processor will be mostly\nblank if you're not maxing most cores), or attempt to fit N different CPU\ngraphs onto my screen which are just meaningless noise and clutter.\n\nThe idea behind Xmon's CPU usage display, was to use a waterfall plot display,\nsimilar to plots often used in frequency analysis. The horizontal axis is split\namong the CPUs/cores, the vertical axis is time, and the plot intensity/color is\na function of the usage of the corresponding core.\n\nI got the idea to use a waterfall plot from a comment Dave Plummer made, while\ninterviewing Dave Cutler, about potentially using a \"heatmap\" to visualize CPU\nutilization for hundreds of cores/threads. I ended up going with a waterfall\nplot instead of a heatmap, because it also conveys utilization over time.\n\n\nLicense\n-------\nCopyright (C) 2025 John Tsiombikas \u003cnuclear@mutantstargoat.com\u003e\n\nXmon is Free Software. Feel free to use, modify, and/or redistribute under the\nterms of the GNU General Public License v3, or at your option any later version\npublished by the Free Software Foundation. See COPYING for details.\n\n\nBuild instructions\n------------------\n\n### GNU/Linux\n\nJust run `make`, and `make install` if you wish to install xmon system-wide. The\ndefault installation prefix is `/usr/local`, which can be changed by modifying\nthe first line of `GNUmakefile`.\n\n### IRIX\n\nTo build on IRIX with MIPSPro C and the native make utility, run `make -f\nMakefile.sgi`, and then `make -f Makefile.sgi install` to install xmon\nsystem-wide. The default installation prefix is `/usr/local`, which can be\nchanged by modifying the first line of `Makefile.sgi`.\n\nTo build with gcc and GNU make, run `gmake CC=gcc`, then `gmake install` to\ninstall. Again, to change the installation prefix, edit the first line of\n`GNUmakefile`.\n\n### FreeBSD\n\nOn FreeBSD GNU make is required. Type `gmake` to build, `gmake install` to\ninstall. See the GNU/Linux instructions about the installation prefix.\n\n### MacOS X\n\nMake sure XQuartz is installed, and you have all the necessary Xlib headers.\nYou can install both with homebrew: `brew install xquartz libx11`.\n\nThen just run `make` to compile, and `make install` to install.\n\n### Windows\n\n#### MS Visual C\n\nTo build with the microsoft compiler, from a console with the msvc build\nenvironment set up (run `vcvars32` or equivalent), run `nmake -f Makefile.vc`.\n\n#### MinGW\n\nYou may also use MinGW/gcc to compile xmon. From a terminal with the\nappropriate mingw32/mingw64 build environment, just run `make`.\n\n\nNotes\n-----\n\n### IRIX\n#### setuid root\n\nOn IRIX xmon is installed as setuid-root, to be able to access kernel memory to\nread the load average. Root priviledges are dropped immediately after /dev/kmem\nis opened. See `load_init` in `src/irix/load.c`.\n\n#### network traffic unit is packets\n\nOn IRIX xmon can't compute traffic in bytes. Only packet counters are\navailable. So all displayed numbers are packets or packets / sec.\n\n### MacOS X\n\nCurrently the only modules implemented on MacOS X are CPU and memory usage.\n\n### Windows\n\nXmon should be able to run on every version of windows starting from windows 95,\nand Windows NT 4.0 with some caveats. Might also work on NT 3.1, but hasn't been\ntested yet.\n\n#### issues\n  - currently CPU usage collection is implemented with `NtQuerySystemInformation`\n    and so it only works on NT-based windows.\n  - currently the network interface statistics module, uses the \"IP Helper API\",\n    which is available on windows 98 and windows NT 4.0 SP4 or newer.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtsiomb%2Fxmon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjtsiomb%2Fxmon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtsiomb%2Fxmon/lists"}