/WinMemoryCleaner

This free RAM cleaner uses native Windows features to optimize memory areas. It's a compact, portable, and smart application.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Windows Memory Cleaner

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.

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.

Download)

🚀 Features

Auto optimization

  • Every X hours - The optimization will run by period
  • When 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 enabled
  • Modified Page List - Flushes memory from the modified page list, writing unsaved data to disk and moving the pages to the standby list
  • Processes Working Set - Removes memory from all user-mode and system working sets and moves it to the standby or modified page lists. Note that by the time processes run, any code will necessarily populate their working sets to do so
  • Standby List - Flushes pages from all standby lists to the free list
  • Standby List (Low Priority) - Flushes pages from the lowest-priority standby list to the free list
  • System 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 (Global)

  • CTRL + ALT + M (Customizable) - Optimize

Settings

  • Always on top - Pins the window to the top of all your windows
  • Auto update - Keeps the app up to date
  • Close after optimization - Closes the app after optimization
  • Close to the notification area - Minimize the app to the system tray when clicking the close (X) button
  • Run 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 it
  • Run 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\Run
  • Show optimization notifications - Sends a message to the notification area after optimization. It includes the approximate memory released
  • Show virtual memory - It also monitors the virtual memory usage
  • Start 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 icon
  • Memory usage - Show physical memory usage with a background color based on the value
    • (0% - 79%) Black
    • (80% - 89%) Orange
    • (90% - 100%) Red

🖥️ Command arguments (NO GUI)

You can use the following arguments to run the app silently.

  • /CombinedPageList
  • /ModifiedPageList
  • /ProcessesWorkingSet
  • /StandbyList OR /StandbyListLowPriority
  • /SystemWorkingSet

Example

WinMemoryCleaner.exe /ModifiedPageList /ProcessesWorkingSet /StandbyList /SystemWorkingSet

📖 Logs

The app generates logs in the Windows event

  1. Press Win + R to open the Run command dialog box
  2. Type eventvwr and press Enter to open the Event Viewer

📝 Project notes

  • Microsoft.NET 4 framework version for Windows retro compatibility
  • 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

🌐 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

  1. Visit https://ss64.com/locale.html to get the locale description of the language
  2. Save it as {locale-description}.json using UTF-8 as character encoding
  3. Launch the application. If successful, the new language and changes will be visible
  4. Either submit a pull request or upload the file to the translation discussion

💡 If you are a .NET developer

  1. You can add the new file to the Resources\Localization folder
  2. Change the file build action property to Embedded Resource
  3. Rebuild and run the WinMemoryCleaner project

💡 When a new version requires translated text changes, Google Translate will be used for translation by the developer. The contributor's efforts to submit updates will always be appreciated.

❤️ Contributors

❔ Frequently Asked Questions (FAQ)

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 a Virus/Trojan and blocked by Windows Defender 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