Exchange Server 2007 Transport: 452 4.3.1 Insufficient system resources

by Bharat Suneja on March 25, 2007

In my hotel room in Orlando, getting ready for an Exchange 2007 transport presentation tomorrow morning at TechMentor. When trying to telnet to the SMTP port of an Exchange 2007 Hub Transport server, I got the following error:

452 4.3.1 Insufficient system resources

Not a good thing the night before a presentation – Murphy’s law at work again!

The Application Event Log has Event ID 15002 from MSExchangeTransport saying “The resource pressure is constant at High. Statistics… “. The event goes on to tell you that inbound mail submission has stopped, and it’s due to disk space being low on the volume where the queue database is located.

Figure 1: Event ID 15002 logged by MSExchangeTransport

Exchange Server 2007 transport queues are not the familiar .eml files you see in Exchange Server 2003/2000, which reside in the \mailroot\vsi <1>\queue folder (<1> is the instance number of the SMTP virtual server) on the file system. Yes, transport queues have been moved to a JET database of its own.

What’s Back Pressure?

In Exchange Server 2007, the Transport service monitors system resources such as disk space and memory on Transport servers (the Hub Transport and the Edge Transport servers), and stops message submission if it’s running low on these resources. It continues to deliver existing messages in the queue. When resource utilization returns to normal, it resumes message submission. The feature is called Back Pressure.

In this case, Exchange required 4 Gigs of free disk space on the volume where the Queue database was located – I had about 3.95 Gigs. :)

Changes to Back Pressure settings in Exchange Server 2007 SP1

The Back Pressure settings in Exchange Server 2007 RTM stop inbound mailflow if free disk space is below 4 Gigs. This static threshold has been lowered in SP1 to a more realistic 500 MB.

The Resolution

Many configuration options for transport servers are saved in an XML file named EdgeTransport.exe.config (it’s the same file name on both server roles— Edge Transport and Hub Transport) located in \Exchange Server\Bin\.

To get transport to resume submissions, you can use any of the following methods. All of the following require you to edit the EdgeTransport.exe.config file.

  1. Disable BackPressure: Although Microsoft doesn’t recommend it, it does provide a way to Disable Back Pressure
  2. Tweak BackPressure thresholds: Modify BackPressure parameters to more accurately define what’s high utilization for your deployment or server configurations, as explained in the above docs.
  3. Move the queue database to another volume: Another resolution, and the one I used in this case, was to move the queue database to another volume with ample of free space, using the following procedure:
    1. Add the following key in the <AppSettings> section in EdgeTransport.exe.config, as documented in “How to Change the Location of the Queue Database“:

      <add key=“QueueDatabasePath” value=”D:\Queue\QueueDB” />

    2. Save the file and restart the Microsoft Exchange Transport service from the Services console or by using the Restart-Service cmdlet (Restart-Service MSExchangeTransport).

Message submission resumes.

Related Posts:

- Exchange Server 2007: How to turn off the Back Pressure feature on transport servers

{ 31 comments… read them below or add one }

1 Scott Landry April 23, 2007 at 8:09 am
2 Florin June 27, 2007 at 6:01 am

Thank you for your post. It helped me see why in my test virtual environment I couldn’t send not even an e-mail (and was wonderring for some time now what I did wrong .. my VM had 10 Gig hard drive and it had only 3.9 Gig free :( )

Reply

3 TimH August 9, 2007 at 10:12 am

So what is the unit for PercentageDatabaseDiskSpaceUsedHighThreshold? I set it to 1024000000 (1GB?) and restarted MSExchangeTransport and still got 15002 errors with mail stuck in the outbox. I finally just turned off backpressure altogether but am wondering if I set the threshold incorrectly in the config file.

Reply

4 Bharat Suneja August 11, 2007 at 11:37 pm

Hi TimH,

Please refer to the BackPressure documentation (also linked in the above post). Look at Table2 that lits these parameters. The valid values are listed.

As the term PercentageDatabaseDiskSpaceUsedHighThreshold states, it’s not an absolute value (in memory units) but a percentage.

Reply

5 Anonymous December 25, 2007 at 1:14 am

Thank you for attempting, my problem was it that you solved.

Best regard

Alireza Soleimani

Reply

6 Saravanan.T,Chennai May 15, 2008 at 4:36 am

Thank for your Post.Previously i am not able send mails after reading your post i rectified problem.Thank you very much.

Reply

7 GuruLeeNyc July 27, 2008 at 12:01 pm

This posting was a godsend, it resolved an issue halting email between by Exch2007 & 2003 Interop Connector!

Thanks!

Reply

8 Michael January 7, 2009 at 4:53 am

Thanks! Moving the queue DB and logs fixed the issue for me as well.

Reply

9 justyn bridge March 21, 2009 at 6:24 am

Hi Bharat, thanks for your blog. It has been interesting reading. I have a similar issue and at this point am unsre if it is related to system resources or lack of. Here is the issue:

From Exchange 2007 server i cannot telnet to any remote domains on port 25.NSLOOKUP queries resolve DNS and MX records ok for these domains from the exchange server. From a second server on the same network i can telnet to domain mx records on port 25 without any issues. It is only from the exchange server i cannot telent out to port 25. I can ping the domain names ok from the exchange server so my DNS looks ok. There is no AV or Firewall software located on this server.
I noticed the following error in the event log however.
Your system is low on virtual memory. Windows is increasing the size of your virtual memory paging file. During this process memory requests for some applications may be denied.
Our paging file utilisation was at about 90% but have increased paging file in accordance with nest practice analyzer ( 8200mb )I have at least 50GB free disk space. Has anyone seen this before? Is it possible the SMTP stack is corrupt? I can recieve e-mail ok but have had to use IIS SMTP connector on another box to deliver e-mail. Any ideas??

Reply

10 Paul MacNeill April 17, 2009 at 7:18 pm

Solved the issue for me in EBS, TMG server, moved the Queue to a different volume as per the MS Article, and queues are now operational without the BackPressure Issue.

Reply

11 jmelashenko May 11, 2009 at 11:37 am

Thanks Bharat for your post. This came in really handy this morning!

Reply

12 CarecA May 17, 2009 at 10:32 am

Very useful tip. Thanks a lot.

Reply

13 web design India June 22, 2009 at 10:16 pm

very cool post

Reply

14 Anonymous August 12, 2009 at 3:32 pm

Very good post. Thanks a lot.

Reply

15 Anonymous September 1, 2009 at 5:20 pm

Woot! Thanks, that saved my bacon. I was able to get the fix in before any of our lawyers saw that they hadn't received emails for 1/2 an hour….

Reply

16 Anonymous November 13, 2009 at 5:08 pm

You are a star

Reply

17 paul August 30, 2010 at 10:19 pm

Thanks for the post. Fixed out issue as well. Although interestingly I got no errors in the event logs, just the SMTP error (452 4.3.1 Insufficient system resources) when I used telnet to connect directly to the SMTP interface on the exchange server and did a “mail to:” command.

Reply

18 Mario Di Vece November 13, 2010 at 2:40 pm

Thanks so much! Worked like a charm.

Reply

19 sanka June 20, 2011 at 5:09 pm

great work friend … thank you very much..

Reply

20 Shannon June 30, 2011 at 9:11 am

THANKS! Solved my problem…. my problem was memory usage was up over 95% (the threshold was 94%)…. Added more RAM and problem solved.

THANKS!

Reply

21 Eisenhorn July 11, 2011 at 8:19 am

It worked! Yes I echo the other’s sentiments. Thank you for writing the article.

Reply

22 Dave Hildebrand December 17, 2011 at 11:59 pm

My issue was due to system drive free space. It had just inder 1.9GB free. Disk cleanup free’d enough space to start processing external mail again. Internal mail was working normally.

I’ve since moved the DB and logs to another drive with plenty of space.

Reply

23 Sachin Mulekar December 22, 2011 at 3:23 am

Please Try this First and then try the other methods

In this case, Exchange required 4 Gigs of free disk space on the volume where the Queue database was located – I had about 3.95 Gigs. :)

Thanks & Regards
Sachin Mulekar

Reply

24 Lupo February 1, 2012 at 12:51 pm

I had the exact same problem, searched for hours but my Exchange had enough free space on all drives, no errors in the log – I couldn’t find the problem!
Then I realized that our firewall is “Forefront Threat Management Gateway” 2010 with “Forefront Protection 2010 for Exchange Server” installed.
So some kind of transport is running on our TMG which had very low free space on the C: drive.
Increased the free space, restarted – and now everything works fine again.
So don’t forget about TMG if you run into this error!

Reply

25 lhenry August 28, 2012 at 12:50 am

r you dumb ? It’s not murphy’s law .. it’s Microsoft .. ha aha ha

Reply

26 S. Kolic November 5, 2012 at 3:17 am

Thanks for this post. We had this issue today. I’ve moved the Queue to another disk with more disk space. Resolution 3 worked fine for me.

Reply

27 Eddy Princen January 10, 2013 at 12:50 am

Thanks a lot for this post.
We moved de db and everything ok.

Greetings.

Reply

28 Asokan February 4, 2013 at 12:52 am

After clearing some space in c drive the problem is solved.

Reply

29 Dave March 22, 2013 at 6:50 am

This worked for me. I had 7gb free on each of my two partitions, so i looked at virtual memory. It looked like very little was left, didn’t do the math, but changed the default threshold from 94 to 96 and restarted the hub transport service and poof. Mail started flowing in. I’ll have to look into a more permanent solution

Reply

30 Warren April 23, 2013 at 1:33 pm

I tried this solution and was getting an Event Log error stating the path didn’t exist. So I moved the TransportRoles folder to the path I had referenced in EdgeTransport.exe.config (on a volume having more space).

Big mistake. Next Event Log error was re: unable to create log file (in original path in TransportRoles folder). So I copied the folder back to original location.

Now, I get event 16023: Microsoft Exchange couldn’t start transport agents. The Microsoft Exchange Transport service will be stopped. Exception details: No valid agents.config file was found in ‘C:\Program files\Microsoft\Exchange Server\TransportRoles\Shared\agents.config’. The default configuration for transport agents can be recovered by running ‘scripts\ReinstallDefaultTransportAgents.ps1′. —> System.IO.FileNotFoundException: Unable to find the specified file.
— End of inner exception stack trace —
at Microsoft.Exchange.Data.Transport.Internal.MExRuntime.MExConfiguration.Load(String filePath)
at Microsoft.Exchange.Data.Transport.Internal.MExRuntime.MExRuntime.Initialize(String configFile, String agentGroup)
at Microsoft.Exchange.Protocols.Smtp.MExEvents.Initialize(String configFilePath)
at Microsoft.Exchange.Transport.Components.SmtpMExRuntimeLoader.Load()

—————
Having run the suggested script and still getting the same message, I’m wondering if it is necessary to re-register the dlls referenced in that agents.config file, or if there is some other explanation. It is strange because the file did exist (after copying it back) and certainly the default configuration exists after running the script. Yet the message continues to say FileNotFoundException.

Reply

31 Warren April 23, 2013 at 2:27 pm

Solved it myself– the Exchange Transport service was running with NT AUTHORITY\NetworkService. When I moved the files back and forth I lost the permissions for that account. Trying to re-add them though, I couldn’t find NetworkService. I had to enter “Network Service” (with a space).

Hope this helps someone with a similar problem.

Reply

Leave a Comment

{ 6 trackbacks }

Previous post:

Next post: