Awesome
<div align="center"> <h1>Windows Memory Cleaner</h1> <picture> <img src="/.github/images/main-window.png"> </picture> <p align="justify"> This free RAM cleaner uses native Windows features to clear memory areas. Sometimes, programs do not release the allocated memory, making the computer slow. That is when you use Windows Memory Cleaner to optimize the memory so you can keep working without wasting time restarting your system. </p> <p align="justify"> The app has a minimalistic interface and smart features. It's portable, and you do not need to install it, but it requires administrator privileges to run. Click on the download button below and run the executable to get started. </p> <p align="center"> <a href="https://github.com/IgorMundstein/WinMemoryCleaner/releases/latest/download/WinMemoryCleaner.exe"> <img alt="DOWNLOAD" src="/.github/images/download-button.png"> </a> </p> </div>🖥️ Computer requirements
- Microsoft .NET Framework 4
- Windows
XP
Vista
7
8
10
11
- Windows Server
2003
2008
2012
2016
2019
2022
🚀 Features
Auto optimization
Every X hours
The optimization will run by periodWhen free memory is below X percent
The optimization will run if free memory is below the specified percentage
Compact Mode
- Arrow (Up/Down) next to the minimize button to collapse and extend the window
Memory Areas
Combined Page List
Flushes the blocks from the combined page list effectively only when page combining is enabledModified Page List
Flushes memory from the modified page list, writing unsaved data to disk and moving the pages to the standby listProcesses Working Set
Removes memory from all user-mode and system working sets and moves it to the standby or modified page listsStandby List
Flushes pages from all standby lists to the free listStandby List (Low Priority)
Flushes pages from the lowest-priority standby list to the free listSystem Working Set
Removes memory from the system cache working set
Multi-Language
Albanian
Arabic
Bulgarian
Chinese
Dutch
English
French
German
Greek
Indonesian
Irish
Italian
Japanese
Korean
Macedonian
Persian
Polish
Portuguese
Russian
Serbian
Slovenian
Spanish
Turkish
Ukrainian
Processes excluded from optimization
- You can build a list of processes to ignore when memory is optimized
Optimization hotkey
- Set a keyboard global hotkey to run the optimization.
CTRL + ALT + M
is the default and customizable value
Settings
Always on top
Pins the window to the top of all your windowsAuto update
Keeps the app up to date. It checks for updates every 24 hoursClose after optimization
Closes the app after optimizationClose to the notification area
Minimize the app to the system tray when clicking the close (X) buttonRun on low priority
It limits the app resource usage by reducing the process priority and ensuring it runs efficiently. It might increase the optimization time, but it helps if your Windows freezes during itRun on startup
Runs the app after the system boots up. It creates an entry on Windows Task Scheduler and Windows Registry path SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\RunShow optimization notifications
Sends a message to the notification area after optimization. It includes the approximate memory releasedShow virtual memory
It also monitors the virtual memory usageStart minimized
The app will start minimized to the system tray. Single-click on the icon to restore
System tray (Notification area)
- Menu
- Notification
Tray icon
Image
Show app iconMemory usage
Show physical memory usage with a background color based on the value(0% - 79%)
<picture><img src="/.github/images/memory-usage.png"></picture>(80% - 89%)
<picture><img src="/.github/images/memory-usage-warning.png"></picture>(90% - 100%)
<picture><img src="/.github/images/memory-usage-danger.png"></picture>
🔳 Command arguments (NO GUI)
You can use the following arguments to run the app silently.
/CombinedPageList
/ModifiedPageList
/ProcessesWorkingSet
/StandbyList
OR/StandbyListLowPriority
/SystemWorkingSet
Shortcut target example
C:\WinMemoryCleaner.exe /ModifiedPageList /ProcessesWorkingSet /StandbyList /SystemWorkingSet
📖 Logs
The app generates logs in the Windows event
- Press Win + R to open the Run command dialog box
- Type eventvwr and press Enter to open the Event Viewer
❓ Frequently Asked Questions (FAQ)
What are the project requirements?
- Minimalistic user interface
- Model-View-ViewModel (MVVM) design pattern
- No third library or DLL dependencies
- Portable (Single .exe file)
- Right-to-left language support and bidirectional text
- S.O.L.I.D. Principles of Object-Oriented
- Use of Windows native methods for memory management
- Windows Event to save logs
- Windows Presentation Foundation (WPF) for user interface
- Windows Registry to save user config
Where does the app save the user configuration?
Each user setting is saved in the Windows registry path Computer\HKEY_CURRENT_USER\Software\WinMemoryCleaner
Why has the app been flagged as Malware/Virus and blocked by Windows Defender, SmartScreen, or Antivirus?
One of the reasons for this false alarm is that the application adds entries to the registry and task scheduler to run the application at startup. Windows doesn't “like” applications with administrator privileges running at startup. I understand that, but this is the way to do it. I apologize, but the application cannot deep clean memory without administrator privileges.
That's a common issue that persists every time a new app version is released. I constantly submit the executable to Microsoft. Usually, it takes up to 72 hours for Microsoft to remove the detection. It helps if more users submit the app for malware analysis
Meanwhile, as a workaround, you can add an exclusion to Windows Security
🌐 Translation
If you are a native speaker of any language other than English, you can contribute by translating the file: English.json
💡 You can test any translation by creating a file alongside the executable
- Visit https://ss64.com/locale.html to get the locale description of the language
- Save it as {locale-description}.json using UTF-8 as character encoding
- Launch the application. If successful, the new language and changes will be visible
- Either submit a pull request or upload the file to the translation discussion
💡 If you are a .NET developer
- You can add the new file to the Resources\Localization folder
- Change the file build action property to Embedded Resource
- Rebuild and run the WinMemoryCleaner project
💡 Google Translate tool will be used when a new version requires translated text changes. The contributor's efforts to submit updates are always appreciated.
⭐ Contributors
Albanian (Shqip)
Omer RustemiArabic (اللغة العربية)
Abdulmajeed-AlrajhiBulgarian (български)
KonstantinChinese (Simplified) (中文(简体))
KaiHuaDou | Kun Zhao | raydenake22Chinese (Traditional) (中文(繁體))
raydenake22 | rtyrtyrtyqwDutch (Nederlands)
hax4dazyFrench (Français)
William VINCENTGerman (Deutsch)
CalvinGreek (Ελληνικά)
tkatsageorgisIndonesian (Indonesia)
EskeyIrish (Gaeilge)
Happygolucky254Italian (Italiano)
wintrymichiJapanese (日本語)
daiKorean (한국어)
VenusGirlMacedonian (Македонски)
Dimitrij GjorgjiPersian (فارسی)
KavianKPolish (Polski)
Fresta56Russian (Русский)
ruslooobSerbian (Srpski)
DragorMilosSlovenian (Slovenščina)
Jadran RudecSpanish (Español)
Ajneb Al Revés | NekrodamusTurkish (Türkçe)
ViolljeUkrainian (Українська)
RieBi | Oleksander