Article ID: 161870 - View products that this article applies to.
This article was previously published under Q161870
This article has been archived. It is offered "as is" and will no longer be updated.
For a Microsoft Windows Server 2003 version of this article, see 842355
The Services for Macintosh (SFM) component of Windows NT has an upper limit to the number of files and directories that can be located on SFM volumes on a given Windows NT Server. This limit is determined by the amount of paged pool memory available to the Windows NT kernel.
The information in this article is provided to assist in determining reasonable limits for the number of files to be housed on SFM servers.
NOTE: The algorithm used by SFM to allocate memory was changed in a Post- SP3 hotfix. This hotfix is included with Windows NT 4.0 Service Pack 4. The information in this article applies to all versions of SFM prior to Windows NT 4.0 Service Pack 4. For more information on this change, please see the following article in the Microsoft Knowledge Base:
TITLE : Creating an SFM Volume on Large Partition Causes a Stop 0x24
Services for Macintosh uses a small amount of paged pool memory for each file and directory that resides on a SFM volume to cache information needed for efficient operation of the service. For small to medium sized volumes, this memory requirement is usually negligible. However, if the volume size is very large, or a large amount of paged pool memory is needed for other services, errors may be encountered when attempting to create new files on a SFM volume, or when performing other operations that require the use of paged pool memory.
The number of bytes of paged pool memory SFM allocates to keep track of a file or directory depends on the length of the file's long file name (LFN). The length of the 8.3 file name (if any) is unimportant. The following table shows the number of bytes of paged pool memory needed by SFM as a function of the length of a file or directory's long file name.
Length of LFN File Dir ------- ---- --- 1 - 8 128 168 9 - 12 136 176 13 - 20 152 192 21 - 32 176 216
Therefore, a directory tree consisting of 200 subdirectories and 10,000 files, all with names between 13 and 20 characters in length, would require (200 * 192) + (10,000 * 152), or 1,558,400 bytes (1.48 MB) of paged pool memory.
"Paged pool memory" refers to a specific region of the Windows NT virtual memory map accessible to kernel mode operating system components.
The maximum amount of paged pool memory available to Windows NT is determined at system boot time and, by default, depends on the amount of physical RAM installed on the system. The maximum amount of paged pool memory that can be allocated, even with unlimited physical RAM, is 192 MB.
The default paged pool size can be overridden by means of a change to the Windows NT registry. However, extreme caution should be used when altering the default settings for kernel memory allocation. If an appropriate balance of paged pool, nonpaged pool, and other memory resources is not maintained, Windows NT may become unstable because of a shortage of resources, even when there is plenty of available physical RAM.
Other system components besides SFM also use paged pool memory. Therefore, the actual number of files SFM will be able to handle on a given system will depend on that system's overall configuration. To see how much paged pool memory is in use at a given time, examine the Pool Paged Bytes counter of the Memory object within the Windows NT Performance Monitor.
If you use all the available paged pool memory on your system, you may see some of the following symptoms. Other symptoms may also be present, and you may not encounter all of the following:
Additional background information about virtual memory is available in "Inside Windows NT" by Helen Custer, and from other sources, including the Microsoft Knowledge Base.
Article ID: 161870 - Last Review: February 28, 2014 - Revision: 2.2