Has anyone experienced NCS causing excessive pagefile writes in Windows 10? I have a i7-6700 with 16 GBytes yet when I enable more than one camera it causes the System process to write at up to 100 MB/sec to my c: drive (SSD) causing excessive wear. This makes no sense as other large programs I run cause NO PAGE WRITES. It appears that the COMMIT size fluctuates wildly, giving indication of poor memory management in the application.
I had a look at this in different situations and I do not see this behavior as you describe it. However, I am not an expert in this so I ask our developer this comment on this.
Your process has a high commit to working set ratio which typically means your programmers are allocating memory with the MEM_COMMIT option. If they are using page-backed file mapping objects, also called sections, this can cause the behavior I am seeing. I am running on a machine that typically has 10GB of free memory which rarely hard page faults. Running various applications from Chrome, Plex, trading software (2.9 GB commit), Adobe Premier, etc , the pagefile is very raely used. I monitor your process and System with two Resource Monitors for both Memory and Disk and the behavior is highly repeatable. The more cameras I source enable the more writes to pagefie occur.
If your guys are using memory mapped files for I/O and they are using any of the SEC_COMMIT type options as it will back the object with the pagefile. If anyone wants to remote access my server to they can or I can send screen recordings
More interesting stuff. I was only running NCS which might explain my result. But, what you are saying is that NCS is written to have priority of RAM so when you run other programs at the same time these program are throw out from the RAM to give room for NCS. For me that seems logical since NCS is a real-time system and must have everything in RAM to work properly.
I was not saying that those other programs were running when NCS was, only that the other large memory programs (and in the case of Plex near realtime) do not cause the Windows 10 Memory Manager to exhibit such behavior. NCS runs on the machine 99% of the time without another application running and with ample free memory. I am adjusting various parameters on the system to see if it changes the excessive pagefile writes but to this point nothing changes the behavior.
We went back to our “old” server machine running NCS on Window 8, 6 GB, and disk drives. I can reproduce the pagefile.sys writes when enabling more than one camera. It is a much slower drive (about 13 MB/sec), nevertheless it keeps the drive pegged at 99% disk usage. It seems like NCS just curns out these pagefile writes for not explainable reason. I would really appreciate some feedback as to your use of pagefile backed memory allocation.
This is really a unique situation. If this was a general problem we should have had much more discussion about this. I forward this to our developers.
I would love to continue this conversation with your developers. I had to bring our old server back online just to handle NCS, but even where there is normal operation NCS causes the System process to write to pagefile.sys at a rate which is typically the maximum write rate of the disk. Of course this is untenable for a system that uses SSD for the system disk and Windows 10 is impossible to NOT make a pagefile.sys on the C: and not use it (in the case where you have other hard drives in the system that can be set with pagefile.sys). I’m not sure why you have not received more complaints from others since I have seen the same behavior on three different systems myself. I am also an engineer and have written imaging applications on the Windows platform that made use of memory mapped files for fast file access and if not created properly an unnecessary by-product is that they will be backed in pagefile.sys and will cause totally unecessary paging. I am 95% sure this is the issue here.
I am myself running system with SSD, but do not see any unnatural. However, can you describe how to check this so I can test. Does it depend on how many cams, … ? What Windows do you run?
SSD are fast so you don’t actually notice a continuous 100 MB/sec write occurring, but even a continuous 10MB/sec will prematurely “wear” a SSD. The video system has 7 1280x720 RTSP cemras, but it was occurring when I only had two enabled. The “new” server with the SSDs is Windows 10 pro and the old server with HDD (now again running NCS) is Windows 8.
If you bring up the Resource Monitor under the disk tab and “check” the “System” process (usually PID 4), under the “Disk Activity” window you will find the “File” pagefile.sys (usually C:\Pagefile.sys (Page File)). I would be curious if you see any amount of writes occurring on your configuration. Each system WITHOUT NCS running shows little or no Pagefile usage, but when it is, the writes are very pronounced.
Here are two images.
The top one if from a computer running NCS: i7 processor, Win10Pro, SSD and 4 cameras from 4MP to VGA.
The bottom picture is from an HP server running server2008R2 and NCS with 21 cameras from 960p to VGA. This runs with a HDD with storage of the recordings on a NAS.
I have the same issue on a server, running in a VM, pagefile writes are very high. this didnt happen recently and nothings changed, i dont even think updates had run (have now).
It really affecting performance.
Recently, i noticed high disk usage on my server, checked and can see its my VM for netcam studio. only one camerca.
The pagefile has very high reads 44,xxx,xxx odd. constantly. This has only started fairly recently.
Ram is not depleted in the VM
I had a closer look especially was digging around the memory mapped file thing. But we don’t use memory mapped files anymore since many versions (at least a year). It was the case before for sending images from the server/console to the client without having to go through the http server. At the end it wasn’t really significantly faster and anyway it was working only when running NCS Console but not NCS Service.
I suppose that most of the memory consumptions do come from FFMPEG.
My test system is a small NUC running Win10 with only SSD disk and I have no pagefile being written there, the peaks to HDD that I have is when it’s recording due to the files being recorded on HDD. What is the general memory usage of NCS ? Do you have this pagefile accesses directly when starting NCS or only when it has been running during a few hours or days and reaches a memory “threshold” ?