{"id":13466224,"url":"https://github.com/graphitemaster/moreram","last_synced_at":"2026-01-18T21:03:03.570Z","repository":{"id":43491120,"uuid":"56955989","full_name":"graphitemaster/moreram","owner":"graphitemaster","description":"Get more system memory","archived":false,"fork":false,"pushed_at":"2020-06-15T23:27:49.000Z","size":12,"stargazers_count":803,"open_issues_count":2,"forks_count":21,"subscribers_count":22,"default_branch":"main","last_synced_at":"2024-07-31T15:02:39.780Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/graphitemaster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-24T05:38:47.000Z","updated_at":"2024-07-09T14:48:08.000Z","dependencies_parsed_at":"2022-07-30T22:18:01.828Z","dependency_job_id":null,"html_url":"https://github.com/graphitemaster/moreram","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphitemaster%2Fmoreram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphitemaster%2Fmoreram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphitemaster%2Fmoreram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphitemaster%2Fmoreram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graphitemaster","download_url":"https://codeload.github.com/graphitemaster/moreram/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222091991,"owners_count":16929761,"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","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":[],"created_at":"2024-07-31T15:00:41.197Z","updated_at":"2026-01-18T21:03:03.564Z","avatar_url":"https://github.com/graphitemaster.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# More Ram\n\nMore Ram is a system-wide malloc replacement which allows you to gain up\nto an additional 12GB of system RAM.\n\nTo use:\n```\n$ sysctl -w vm.overcommit_memory=2\n$ LD_PRELOAD=moreram.so ./app\n```\n\n# How it works\n\nMore Ram exploits the video memory using OpenGL to unlock that memory so\nyou can open a couple more tabs in Firefox\n\n# Technical description and difficulties\n\nBy taking advantage of persistently mapped buffers in OpenGL, we can exploit\nup to an additional 12GB of memory for system tasks.\n\nThere is no guarantee that the persistently mapped buffer technique actually\nreferences video memory. The worst case it's shadow memory and this actually\nwastes memory.\n\nThis will work on embedded better than it will on Desktops, where persistently\nmapped buffers actually do reference video memory. As for desktop, your best\nbet is a modern NV graphic card or an AMD GPU which supports GL_AMD_pinned_memory.\n\nThe logic for using GPU memory is only triggered when malloc/calloc/realloc\nfail. On systems with overcommit, this will never be the case. To make\nuse of this overcommit *must be disabled*\n\nOh yeah, and it's thread safe!\n\n# Dependencies\nUnfortunately for this to work you need a working X server as a GL context\ndoes need to be created\n\n* SDL2\n* GL 3.3+\n* Working X server\n\n# Is this a joke?\n\nTotally a joke but still fun none the less. But it *can* work.\n\nWhy not downloadmoreram ;)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphitemaster%2Fmoreram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraphitemaster%2Fmoreram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphitemaster%2Fmoreram/lists"}