Mark Longton of the Microsoft Teams development group discussed some techniques Microsoft uses to improve the performance of Teams in a January 28 blog. He covers analysis of performance during code development, tools used for analysis, and the creation of debugging and monitoring tools. Finally, he looks at how Microsoft identifies strategic improvements they want to make in specific elements of the Teams client. The text explains that helping Teams to lose an unfortunate reputation for sluggish performance is an ongoing, persistent, and detailed-oriented task.
A response to the post raises the issue of memory consumption, reporting a Teams client taking 1.1 GB RAM. I haven’t seen such a large amount of memory reported for a while, probably not since Microsoft made some changes to Teams memory management in mid-2020. As I write this article, Teams occupies 501 MB RAM on my 16 GB Surface Book 2, which is after switching several times between different tenants to perform a variety of tasks. (12 hours later, Teams occupied 744 MB…)
Clear the Teams Cache
However, I rebooted my PC earlier today, so it’s less likely that the Teams cache of resources stored in memory has accumulated much debris. Over time, the cache can expand to hold data that isn’t used, not required, or corrupt. The solution is to “clear the cache,” or wipe and restart. Like signing out and back into Teams, it’s one of the go-to universal solutions for many odd Teams problems rooted in hard experience of helping end users cope with problems they have with Teams clients.
According to Mark Longton, signing out and back in again is enough to clear the Teams cache. This certainly seems like it should be the case because the cache is an in-memory structure and there’s no reason why Teams should keep data in memory after a user signs out.
However, as evident in this advice from Michigan State University, some support organizations go further and recommend that users of the Teams desktop client for Windows delete the contents of the cache folder in %appdata%\Microsoft\Teams plus a bunch of other folders. The logic appears to be that removing everything Teams downloads to store on the local workstation stops any lingering corruption finding its way back into the Teams cache. The next time the user signs into Teams, the client downloads the data from the cloud to rebuild the files.
Steps to Fix Problems
If someone experiences a problem with the Teams for Windows client, a phased approach is:
Sign out, wait a moment, and then sign back into the client. Sign out can be done from the taskbar (Figure 1) or by clicking the user photo in the title bar and selecting the sign out option. Apart from anything else, signing back in will ensure that access tokens and multi-factor authentication are not expired.
Figure 1: Signing out of Teams can help clear memory problems
If the problem doesn’t go away, check the web client to see if the same problem exists there. If it doesn’t, the issue is with the desktop client, so go ahead and sign out and then remove local cache files as described above. Before you sign out, use the Collect support files option (available by right-clicking the Teams icon in the system tray – Figure 2) to capture information that Microsoft support might need to resolve problems you can’t fix.
Figure 2: The Collect Support Files option
The Great Hope of Teams 2.0
It’s no secret that Microsoft is working on an implementation of the Teams enterprise client based on a new architecture (Teams 2.0). The Teams chat client now available in Windows 11 uses the new architecture, but clearly it takes much more development effort to create a client supporting all the features available in the current enterprise client. Better performance and a reduced memory footprint are two advantages cited for the new architecture. Let’s hope we’ll see the Teams 2.0 enterprise client soon, and that the days of needing to clear cache are left behind. Then again, a new client based on a new architecture will likely bring a bunch of new performance and troubleshooting issues for administrators to consider.
So much change, all the time. It’s a challenge to stay abreast of all the updates Microsoft makes across Office 365. Subscribe to the Office 365 for IT Pros eBook to receive monthly insights into what happens, why it happens, and what new features and capabilities mean for your tenant.
4 Replies to “Why Cleaning Out the Teams Cache Sometimes Helps to Fix Clients”
It is crazy that people have to resort to manual deletions to clear cache in Teams. But then those of us who have spent years running manual scripts to deal with c\windows\softwaredistribution rather than the Windows Update process being robust enough to clean itself up are used to such things
A common complain that I get at work is that changes made are not reflected in Teams, such as new photo, or job title, phone number, etc. Everything is updated in Azure, but Teams still shows stale data. My first step is to tell them to logout of Teams and log back in, but that often doesn’t fix the issue. Is there a better way to “clear the cache”?
The Teams client has its own mechanism for refreshing data from the server. Loading updated Azure AD account attributes does seem slower than it should be.
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
It is crazy that people have to resort to manual deletions to clear cache in Teams. But then those of us who have spent years running manual scripts to deal with c\windows\softwaredistribution rather than the Windows Update process being robust enough to clean itself up are used to such things
A common complain that I get at work is that changes made are not reflected in Teams, such as new photo, or job title, phone number, etc. Everything is updated in Azure, but Teams still shows stale data. My first step is to tell them to logout of Teams and log back in, but that often doesn’t fix the issue. Is there a better way to “clear the cache”?
The Teams client has its own mechanism for refreshing data from the server. Loading updated Azure AD account attributes does seem slower than it should be.