Exemplo n.º 1
0
        private VirtualMemorySetViewModel()
        {
#if DEBUG
            NTStopwatch.Start();
#endif
            foreach (var item in GetPagingFiles())
            {
                _initialVms.Add(item.DriveName, item);
            }
            foreach (var drive in AppContext.Instance.DriveSetVm.Drives)
            {
                _dic.Add(drive.Name, new VirtualMemoryViewModel(drive.Name, 0));
            }
            foreach (var item in _initialVms.Values)
            {
                if (_dic.TryGetValue(item.DriveName, out VirtualMemoryViewModel vm))
                {
                    vm.MaxSizeMb = item.MaxSizeMb;
                }
            }
            NTMinerRoot.SetOSVirtualMemoryMb(_dic.Values.Sum(a => a.MaxSizeMb));
#if DEBUG
            var elapsedMilliseconds = NTStopwatch.Stop();
            if (elapsedMilliseconds.ElapsedMilliseconds > NTStopwatch.ElapsedMilliseconds)
            {
                Write.DevTimeSpan($"耗时{elapsedMilliseconds} {this.GetType().Name}.ctor");
            }
#endif
        }
Exemplo n.º 2
0
        public void SetVirtualMemoryOfDrive()
        {
            List <VirtualMemoryViewModel> virtualMemories = _dic.Values.Where(a => a.MaxSizeMb != 0).ToList();

            string[] value = virtualMemories.Select(a => a.ToString()).ToArray();

            Windows.WinRegistry.SetValue(Registry.LocalMachine, MemoryManagementSubKey, "PagingFiles", value);
            OnPropertyChanged(nameof(TotalVirtualMemoryMb));
            OnPropertyChanged(nameof(IsStateChanged));
            NTMinerRoot.SetOSVirtualMemoryMb(_dic.Values.Sum(a => a.MaxSizeMb));
        }