The Core Technologies Blog

Professional Software for Windows Services / 24×7 Operation


Essential Windows Services: SysMain

SysMain Service

What is SysMain?

SysMain is a Windows Service that monitors the applications running on your computer and tries to improve their performance over time.

For example, if SysMain notices that you run Microsoft Excel frequently, it may automatically place Excel in your computer’s memory. And with Excel already loaded into RAM, the program will come up on your desktop much faster when you actually open it.

The end result is that by anticipating what you’re likely to do soon, SysMain can make your computer seem faster than it is.

The service’s display name is SysMain and it runs as LocalSystem inside the service host process, svchost.exe. By default, the service is set to start automatically when your computer boots:

SysMain Windows Service

Note that in previous version of Windows (before Windows 10 18H2), SysMain was called Superfetch. Microsoft changed the name because future versions of the service will likely do much more than simply caching frequently used programs in memory.

Why is SysMain using so much CPU and RAM?

As mentioned, SysMain’s goal is to speed things up by preparing key applications before you actually need them. Doing so makes your applications load faster.

But the downside of that approach is that SysMain uses system resources before necessary — without your explicit consent/request.

Let’s go back to our Excel example, where SysMain loads Excel into memory before you launch the program. The truth is that when SysMain loads Excel, the service uses CPU and memory to complete that task. And if you happen to be using another application when SysMain is doing its work, your PC may appear sluggish — or even unresponsive.

Fortunately, SysMain won’t bog down most modern PC’s. When there are ample amounts of CPU and RAM, you won’t even notice the Windows Service helping you in the background.

The trouble comes up when your RAM and CPU are limited. In those situations, SysMain is constantly competing with the interactive user for precious resources, and that can make your machine appear slower than it is!

Is it OK to disable the SysMain Windows Service?

Yes. SysMain isn’t an essential system process and you can safely disable it.

Indeed, if your PC suffers from “random spikes” in CPU or RAM, you should see if turning off SysMain reduces or eliminates the problems.

Furthermore, a common bit of advice is to disable SysMain whenever your computer has a fast hard drive. In that situation, pre-loading applications into RAM only saves you a few milliseconds. For example, you probably won’t even notice the small speedup that SysMain provides if you’ve got a speedy solid-state drive (SSD).

However, one bit of advice if you disable SysMain. Because it’s possible that SysMain will deliver significant speedups in future versions of Windows, be sure to reevaluate the service as Microsoft improves its operating systems.

Questions? Problems?

If you would like to know more about the SysMain service, or you have a specific problem, please feel free to get in touch. We will do our best to help you!

Posted in Windows Services | Tagged , , , , | Leave a comment

How to Turn Off Files On-Demand in OneDrive

How to Turn Off Files on Demand in OneDrive

What is OneDrive Files On-Demand?

Files On-Demand saves space on your hard drive by “lazily” downloading the contents of your files from OneDrive only when necessary.

With Files On-Demand, all your files are actually listed on your computer. And as you can see below, each file displays the cloud icon in the status column indicating that it’s online-only:

Online-only files

To be clear, an online-only file does not have its contents downloaded onto your hard drive. You can think of it as a shell — a placeholder for the “real” file in the cloud.

The great thing is that online-only files take up virtually no space on your hard drive. And that’s true regardless of the size of your files in the cloud. As a result, if all your files are online-only, your local OneDrive folder will be tiny — even if you have many gigabytes stored online.

Note that when you first setup the OneDrive desktop application, Files On-Demand will be active by default. All your files will be online-only:

Files On-Demand is active by default

We’ll show you how to change that below.

What’s the problem with online-only files?

While Files On-Demand is great at saving space, it has one major downside. Whenever someone tries to access an online-only file, the OneDrive desktop application must be running to download the file’s contents.

If OneDrive isn’t running, any attempt to work with an online-only file fails with a cryptic error:

Error when accessing an online-only file

And the need to have OneDrive always running can cause unforeseen problems, especially in commercial environments.

For example, let’s say you have OneDrive installed on a server. You’ve shared your OneDrive directory over the network, to allow your users to access the files without having OneDrive installed.

Everything works well when your server is on and OneDrive is running. Your users can access all files just fine — even the ones that are online-only.

However, if OneDrive.exe is not running on the server — maybe because the server rebooted and you didn’t log in yet — your users won’t be able to access the online-only files. Their programs will fail in strange ways, like Adobe Acrobat did when we tried to open an online-only PDF file:

Acrobat cannot open an online-only PDF file

It’s easy to see how the inability to get to the files could cause head-scratching and frustration!

Fortunately, it’s easy to avoid those problems. Simply turn off Files On-Demand.

Disable Files On-Demand and make OneDrive download all your files to your computer

To turn off OneDrive Files On-Demand:

  1. Click the OneDrive tray icon to summon the tray window. From there, click the gear in the upper right and choose Settings from the menu:

    Open OneDrive Settings
  2. In the Sync and Backup section, scroll down and expand Advanced settings.

  3. Under Files on Demand, click Download all files:

    Files On-Demand Settings: Download all files
  4. Finally, click Continue to confirm that you want OneDrive to download all your files:

    Confirm download all OneDrive files

After a few minutes (or hours if your OneDrive is immense), all your files will be available on your hard drive. You’ll be able to access them without issue — even when the OneDrive desktop application isn’t running.

Posted in OneDrive | Tagged , , | Leave a comment

6 Reasons Why AlwaysUp is the Best Tool to Run Multiple Applications as Windows Services

AlwaysUp is the Best Tool for Running Multiple Applications as Windows Services

Most service wrappers focus on a very basic task: installing a single application as a Windows Service. In doing so, they provide little or no support if you need to run several applications when your computer boots.

Understanding that some people need to convert more than one program, we’ve worked hard to ensure that AlwaysUp does a great job managing multiple applications as services. Indeed, there is no limit on the number of applications you can run in AlwaysUp. You can install 1 or 100 — it’s up to you.

Anyway, let’s review the top six reasons why AlwaysUp is your best choice when you need to create many Windows Services.

Reason #1: You can manage all your applications in a friendly, intuitive console

Free alternatives like Microsoft Srvany will install any application as a Windows Service. And others have a friendly GUI that makes installation a mostly point-and-click affair.

However, not many tools provide a console that allows you to monitor, manage and update your applications after they have been installed as services.

With those others, you’ll need to rely on the Services application if you wish to start, stop or update your application. And even though Services is a great little app, it’s going to display your new services mixed in with the nearly 100 installed by Microsoft. That makes it very difficult to work with your own.

In contrast, AlwaysUp makes it easy to manage your new services. The console lists all the applications you have installed and allows you to work with them individually or as a group.

For example, here we have AlwaysUp happily managing 10 applications: Dropbox, OneDrive, and a few Java servers:

AlwaysUp managing 10 applications

It’s easy for you to see which applications are running and which are stopped.

And when you’re ready, key information about each program is a mouse-click away:

AlwaysUp showing OneDrive Information

Furthermore, with the AlwaysUp console you can:

  • Operate on a batch of applications, all at once;

  • Sort the table — by name, application path or state;

  • Hide disabled apps (ones that cannot be started);

  • Search, to show only the entries matching the text you entered;

  • Tag applications, to enable grouping and filtering;

  • View applications as large icons, small icons, or as a simple or detailed list.

We’ll cover some of those capabilities and the advantages they offer in the next sections.

Reason #2: You can start, stop, restart or update several services together

The AlwaysUp console supports multiple selection. As such, you can use the standard Shift and Ctrl key combinations to select multiple application rows.

For example, here we’ve chosen all the java servers that are running:

Java applications running are selected

And with that subset selected, we can choose to restart them all at once from the “Application” menu:

Restarting the Java applications selected

Note that you can perform several operations on the group as a set. With a single action, you can:

  • Stop the selected applications;

  • Start them all;

  • Restart the entire group in your session;

  • Change the startup type for each entry;

  • Apply tags to the applications, as a unit;

  • Export each app to a portable XML file.

Those functions are all available from the toolbar and in the “Application” menu.

Reason #3: You can group and filter your applications using tags

Tagging is an organizational feature that allows you to group your applications in any way you like.

For example, you will notice in the screenshots above that the Dropbox and OneDrive entries have a tag named “cloud”. To focus on just those two applications and temporarily eliminate the rest from the view, we would:

  1. Activate the Filter Pane from the View menu;

  2. In the Filter Pane, check the Show only applications with tag box;

  3. Choose the “cloud” tag from the list.

Show applications with the cloud tag

From there, we could simply select both applications and start, stop or restart them.

As you can see, tags make it easy (and efficient) to work with a subset of your applications as a unit.

Reason #4: You can easily export and import your applications “in bulk”

AlwaysUp makes it easy for you to move your applications between your computers. Simply export each application from the “source” PC and import it onto the “destination” machine to recreate it there.

The Bulk Import Wizard provides an optimal experience when you have to import multiple apps. Instead of making you stand up each application separately, the wizard requests common information (like your Windows password) once and applies it to all the applications being imported. The end result is the speedy recreation of all your services on your new computer.

Easily import your Windows Service applications into AlwaysUp

Importing with the wizard can be a real time saver when you’re moving dozens of apps!

Reason #5: You can update your view to fit more applications on your screen

Customers running north of 50 applications in AlwaysUp tell us that screen real estate is a precious commodity. It’s important for them to have all their apps visible in the window — without constantly having to scroll or page around to see them all.

Over the years, we’ve made many improvements to AlwaysUp targeted at those space-conscious customers. For example, you can use the “View” menu to hide the:

  • Toolbar of buttons at the top;

  • Status bar at the bottom;

  • List headers that summarize the applications you are running.

By removing some of those visual components, you can dedicate maximum space to the list of applications:

Hide components to show more applications

And if you really want to pack them in and show 100+ applications, you can switch to small icons (via the “View” menu):

View small icons to show even more applications

As you can see, AlwaysUp makes it super easy to show as many of your applications on screen as possible.

Reason #6: We’ve been making improvements in this area for almost 20 years

Like many of the other service wrappers, AlwaysUp started out with a focus on installing a single application as a service. After all, that’s what most folks want to do at first.

But over the years, our customers have shown us that they are much more ambitious. Indeed, we have a few of corporate clients that use AlwaysUp to manage over 100 applications on a single server!

We’ve learned a lot from those customers. And we consistently try to improve AlwaysUp to meet their strenuous demands.

Most recently, our developers tuned underlying algorithms to ensure that our code performs efficiently when orchestrating many applications. Those efforts reduced CPU usage by a whopping 45% in some circumstances.

AlwaysUp running many applications

And we won’t stop there. We’ll continue to improve the software and make it even easier for you to manage multiple programs. Be sure to let us know if you have any great ideas. 🙂

Posted in AlwaysUp | Tagged , | Leave a comment

Q&A: Why Can’t OneDrive Find my Folder?

Why Can't OneDrive Find my Folder?
  We are currently testing AlwaysUp to manage OneDrive from two Windows 2022 STD 21H2 servers and sharing the data externally.

Installation was very easy but it looks like the sync is not working as expected.

Your FAQ says to try starting OneDrive in the current session. When I did, the attached dialogue popped up behind the AlwaysUp app:

OneDrive folder error

Can you tell me how to troubleshoot this further or how I might resolve the issue?

— Marcus

Hi Marcus, thanks for trying AlwaysUp. Fortunately, we have lots of experience running OneDrive as a Windows Service. We’ll get you going soon!

In fact, we’ve seen this specific issue before. Let’s dig into the problem and show you how to fix it.

Your Windows account doesn’t have explicit rights to the OneDrive folder

OneDrive is complaining because the user account you specified on the AlwaysUp Logon tab can’t access the folder. That Windows account needs to be granted permission to the folder for OneDrive to work.

But that’s strange because OneDrive has no problem reading and writing files in the folder when you start it normally on your desktop!

The issue comes up because:

  1. Your rights to the OneDrive folder are granted because you are a member of the Administrators group

  2. AlwaysUp strips away administrative rights in order to run OneDrive as a Windows Service

Fortunately, the problem is easy to fix.

How to grant your Windows account its own rights to the OneDrive folder

Instead of relying on your membership in an administrative group to give you permission to access the OneDrive folder, you should give your account its own rights. Here’s how to do that, step-by-step:

  1. Open Windows File Explorer.

  2. Navigate to your OneDrive folder.

    Normally that’s in “C:\Users\[Your User Account]\OneDrive”, but it will be elsewhere if someone changed where OneDrive stores its files.

  3. Right-click your OneDrive folder and choose Properties:

    Choose Folder Properties
  4. In the OneDrive Properties window, move to the Security tab.

  5. Click Edit:

    Edit OneDrive Security
  6. In the Permissions for OneDrive window, click Add:

    Add permissions for OneDrive
  7. In the Select Users or Groups window, enter your Windows username. This must be the same account you specified on the Logon tab in AlwaysUp. For us that’s “Mike Jones” — a OneDrive user on our Windows 11 QA machine:

    Enter the Windows user account

    Click OK.

  8. Your account will now be listed in the Select Users or Groups window. Make sure that it has full control:

    Grant full control to the folder

    Click OK.

  9. And back in the OneDrive Properties window, click OK to save all your changes:

    OneDrive folder security updated

That’s it. You should be good to go.

To confirm, please start OneDrive in your current session from AlwaysUp. The error window shouldn’t pop up — and the OneDrive icon should appear in your task tray.

Happy syncing!

Posted in AlwaysUp | Tagged , , , , | Leave a comment

AlwaysUp 14.5: Smarter Starts for OneDrive, Dropbox and More

AlwaysUp 14.5: Smarter Starts for OneDrive, Dropbox and More

We released AlwaysUp version 14.5 on May 12.

This significant update makes life easier for customers managing servers that run multiple copies of Dropbox, OneDrive and other applications. It also revises the shutdown logic for Dropbox, which now runs 7 or more instances of itself to implement file synchronization.

Let’s review the enhancements in detail.

On startup, AlwaysUp can now close your program in the Session or Account only

Some applications fail when you try to run multiple instances of them. For example, if you’re running a web server on a specific network port, starting a second copy will fail because the port is already in use.

For “single-instance” programs like that, you can instruct AlwaysUp to stop all running copies before it starts a new instance of your application. Clearing out those old processes will ensure that your application starts properly under AlwaysUp — automatically and without your intervention.

But while that capability is useful, we found it a bit overzealous in some circumstances. That’s because some applications (like OneDrive) allow you to run several instances in different accounts without issue. For those apps, AlwaysUp can start its own copy without any interference from the other copies already running. That is, AlwaysUp does not need to stop all the other running copies.

To accommodate those applications, AlwaysUp 14.5 introduces a new option to only stop the processes running in the same Windows session or account. It’s available under the “stop copies” setting on the Startup tab when adding or editing your application:

Only stop copies in the same Windows session or account

When to stop your application in the session or account only

Let’s illustrate the power of the new option with an example.

Suppose you manage a Windows Server machine. You’ve installed OneDrive as a Windows Service with AlwaysUp and it’s using Bob’s Windows account (on the Logon tab). It’s not yet running though.

Alice logs in to the server via remote desktop. As she does so, Windows launches OneDrive automatically on her desktop.

Next, you log in to the server to start the OneDrive entry in AlwaysUp. Here’s where the new option makes a difference.

In previous versions of AlwaysUp, Alice’s copy of OneDrive would be terminated when you start the OneDrive service. Indeed, AlwaysUp would stop all copies of OneDrive running on the server, regardless of where they’re running.

However, with the new option that only stops copies of OneDrive in the same session or account, Alice’s OneDrive will not be terminated. That’s because AlwaysUp runs OneDrive in a different user account (Bob’s) and in a different session (Session 0). As a result, Alice’s OneDrive will not be affected by the instance of OneDrive started by AlwaysUp.

Note that the new option only makes sense for applications that support running multiple instances in different sessions. If only a single instance of your application must run across all sessions and accounts, you should not check the box.

Updates for OneDrive and Dropbox Windows Services

Going forward, the Application Advisor will install Dropbox and OneDrive with the stop-copies setting restricted to the session or account.

And if you’ve already installed Dropbox or OneDrive and would like to take advantage of the new setting, simply edit your application in AlwaysUp and check the box on the Startup tab.

Smoother termination of 7+ Dropbox processes

These days, a single run of Dropbox can spawn many copies of Dropbox.exe. You can see the plethora of processes in Microsoft’s Process Explorer:

Dropbox runs 7 instances of itself

Earlier versions of AlwaysUp were optimized for the good old days — when Dropbox launched only 3 copies of itself. Now AlwaysUp 14.5 works with the latest 7-process arrangement — and goes beyond that to prepare for a world where Dropbox launches to 9, 13 or even more executables.

Other fixes & improvements

  • Fixed a handful of long-running issues with non-ASCII service names throughout the program. Even though few customers noticed the problems, they were very annoying (the problems not the customers).

  • Added the ability to remove the registration code, to return AlwaysUp to the unregistered state. This is helpful when you’ve upgraded and want to apply your new license.

  • Fixed an issue where the registration window could be “cut off” on high-resolution, 4K screens. Another annoyance resolved!

As usual, please check out the release notes for the full list of features, fixes and improvements included in AlwaysUp version 14.5.

Upgrading to AlwaysUp 14.5

If you purchased AlwaysUp version 13 (after October 2021), you can upgrade to version 14.5 for free. Simply download and install “over the top” to preserve your existing applications and all settings. Your registration code will continue to work as well.

If you bought AlwaysUp version 12 or earlier (before October 2021), you will need to upgrade to use version 14.5. Consequently, please buy upgrades here — at a 50% discount.

See the complete upgrade policy for more details.

Thank you for reading!

Posted in AlwaysUp | Tagged , , , | Leave a comment