NT Worstation 4 performance tips

Posted on 1998-01-14
Last Modified: 2013-12-28
I have a NT Wokstation 4, service-pack 3, pentium 200 MMX, 64 Mb of RAM, 3.2gb of Disk.

I'm currently looking for REAL performance tips for my machine (those that require registry changes) that will boost the performance of the machine.

Depending upon the quality and number of tips I will grade the answer and even increase the number of points rewarded.

Question by:Jonny071797
  • 4
  • 3

Accepted Solution

cer earned 200 total points
ID: 1789073
All the Tips I have:

You can increase NTFS performance if you disable 8.3 name creation.
(Some 16bit programs may have trouble finding Long File Names. Don't set this option if you wish to install Norton NT
Edit: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Value:NtfsDisable8dot3NameCreation REG_DWORD
Default: 0
Range: 0 or 1

Set it to 1 to disable 8.3 name creation. This won't take effect until the next boot.
Creating seperate processes for the DeskTop/TaskBar and Explorer.

By default, the shell creates 1 process with the Taskbar and Desktop as one thread and each instance of explorer as an
additional thread. A failure in any thread will affect the entire process.
If you have at least 24 Meg of RAM and a fast Pentium, you can create a seperate process for the Desktop/Taskbar and 1
for each instance of explorer by editing the registry at:


and adding value DesktopProcess (REG_DWORD). Set it to 1 and reboot.
Finding that memory leak using Windows NT 4.0.

Much has been written about using Performance Monitor to detect and isolate memory leaks. Two KB articles on the
subject are Q130926 and Q150934.

While these standard protocols work, the hit and miss method of finding the leaking process can be very time consuming.
Here is an alternate method:

1. Start PMON.EXE from the Resource Kit.

2a.Monitor Paged and Non-Paged pool usage (last 2 items on the 2nd row).
       If these are increasing over time, you have a memory leak.
2b.Monitior the commit counters on the 2nd row.
       Increasing numbers over serval hours indicate a probable leak.
2c.Monitor the Commit Charge column.
       The process with the leak will have an increasing value.

3. To make it easier to monitor, copy the output to the clipboard and paste it into notepad.
    Do this about once an hour over the duration of your testing.
Increase network performance.

If you increase the number of buffers that the redirector reservers for network performance, it may increase your network
throughput. Each extra execution thread that you configure will take 1k of additional nonpaged pool memory, but only if your
applications actually use them. To configure additional buffers and threads, edit:


Modify or Add Value of type REG_DWORD for:

MaxCmds The range is 0 - 255 and the default is 15

MaxThreads Set it to the same value as MaxCmds

You may also want to increase the value of MaxCollectionCount. This REG_DWORD is the buffer for character-mode
named pipes writes. The default is 16 and the range is 0 - 65535.
Speed up file system activity.

If you have some extra RAM and an active file system, you can speed up file system activity by increasing the
IoPageLockLimit from the default 512K bytes to 4096K bytes or more. Edit:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management

IoPageLockLimit type REG_DWORD Default: 512K

This entry is the maximum number of bytes that can be locked for I/O operations. When the value is 0, the system
defaults to 512K. The largest value is based on the amount of memory in your system. I would limit this entry to:


Before making changes, get a baseline by using performance monitor for a representative period of time. Make your
changes in small increments and measure performance after each change.
A tweak for NTFS performance.

When Windows NT lists a directory (Explorer, DIR command, etc.) on an NTFS volume, it updates the LastAccess time stamp
on each directory it detects. If there are a very large number of directories, this could effect performance. A new registry entry
allows you to control this behavior. Edit:


Add Value name NtfsDisableLastAccessUpdate of type REG_DWORD. Set it to 1 to prevent the LastAccess time stamp from
being updated.
Do your DOS programs run slowly?

When you right click a DOS program (or .PIF) in Explorer and choose Properties, you get the NT 4.0 version of the PIF editor.

- If the application runs in a window and the video performance is slow, try full-screen mode on the Screen tab.

- Disabling the Compatible Timer Hardware feature in the _DEFAULT.PIF or the applications PIF on the Program tab /
Windows NT button should only be used if it is required to make the application run.

- If the application runs Windowed and pauses periodically, try disabling Idle Detection on the Misc tab.

- If the DOS application can be configured for printing, choose LPTx. Most DOS apps use Int17 when configured to print to LPTx
and print directly to the port.
It is possible that your Windows NT HAL (Hardware Abstraction Layer) does not recognize the amount of L2 cache (Secondary
RAM Cache) that you have installed. To force Windows NT to recognize it, edit:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management

The value name SecondLevelDataCache is a type REG_DWORD. A data value of 0 is the default which sets the L2 cache to
256K. If you have a different amount installed, set the value in decimal.

Example: If you have 512K cache, set the entry to 512 in decimal (Hexadecimal 200).

If you have lots on memory, set DisablePagingExecutive, a type REG_DWORD, to 1. This will allow drivers and the kernel
code to be kept in memory. The default is 0 which pages drivers and kernel code when needed.


Author Comment

ID: 1789074
Hi Cer,

I have one more quick question.
When I run a DOS 16-bit program, Windows NT starts the NTVDM process (which is the NT virtual driver manager I think. This is the 16-bit "emulator", which enables 16-bit application to run).
Usually it takes a few seconds to start this process then start my 16-bit program program.
Is there any way to speed it up (or even keep this process always in memory)????

PS: Thanks for the tips. I'll increase to 200 points.


Expert Comment

ID: 1789075
NTVDM is ..virtual device machine, but maybe I am wrong.
If you start a DOS-Box NTVDM is loaded. If you start a Win311 (16Bit) Program NTVDM and WOWEXEC (windows over windows, 16Bit Win emulator) is loaded.
For each DOS-Box one NTVDM is loaded, so there is not only one NTVDM which handles ALL 16Bit applications. Therefor you can not hold NTVDM in memory, its like having Word in memory without starting Word.
Only thing I can imagine is that you start a minimized DOS-Box in your autostart group, so you have one ready.
Or you can shedule (with AT command) a batch wich opens and close a DOS box every 15 minutes, this way you have NTVDM in your cache and NT do not need to load it from disk.
But I have no speed problems with starting a DOS application, maybe you need to look somewhere else for the bottleneck.
Use performance monitor (see above) to investigate which components are "slow".

Portable, direct connect server access

The ATEN CV211 connects a laptop directly to any server allowing you instant access to perform data maintenance and local operations, for quick troubleshooting, updating, service and repair.


Author Comment

ID: 1789076
Adjusted points to 200

Expert Comment

ID: 1789077
I found a (printed) documentation which originally came from the MS-website. I could not find it again, but maybe you.

Technet Reference Desk
Optimazation and Tuning of Windows NT
old URL:


Author Comment

ID: 1789078

Expert Comment

ID: 1789079
Thanks, I wrote it down (this time).


Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Sometimes drives fill up and we don't know why.  If you don't understand the best way to use the tools available, you may end up being stumped as to why your drive says it's not full when you have no space left!  Here's how you can find out...
The Windows functions GetTickCount and timeGetTime retrieve the number of milliseconds since the system was started. However, the value is stored in a DWORD, which means that it wraps around to zero every 49.7 days. This article shows how to solve t…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Windows 8 came with a dramatically different user interface known as Metro. Notably missing from that interface was a Start button and Start Menu. Microsoft responded to negative user feedback of the Metro interface, bringing back the Start button a…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question