Netmon or your favorite Network Sniffer
SharePoint is a website, and there is lots of communication that goes across the network between Client, App Servers, Web Servers, Active Directory, DNS, and SQL. I would recommend this is installed on all servers and be prepared to run it in multiple locations at once. You can download Netmon 3.4 from http://www.microsoft.com/en-us/download/details.aspx?id=4865 and you can read up on it more from http://support.microsoft.com/kb/812953.
There are a few out there but my preferred is the Microsoft one (And yes I have tried the others but they are missing things that I like) you can download it from http://www.microsoft.com/en-us/download/details.aspx?id=44020. You can either connect it to live servers or copy ULS logs to your PC and review there. Does not need to be on server, in fact I recommend you have it on your PC.
Event Viewer logs
I often will review the application and system logs quickly to see if there is an issue with the underlying OS or if SharePoint has raised an issue into these logs. (Recommend you don’t spend much time here, but quickly go thru them. Creating a PowerShell script to collect those logs would be a great use of time)
Using the Get-Eventlog Cmdlet
Event Log Grabber v1
This tool is built into all current Operating Systems and will monitor the performance of hardware and software on local or remote machines. For SharePoint there are recommended counters that you should monitor, please see the following article for those counters. Remember it is just as important to monitor SQL as it is to monitor your Application servers and Web Front-ends.
Monitoring and maintaining SharePoint Server 2013
Further to this there are several Search counters you can monitor if you think search is an issue.
Now that you have you perfmon logs with the counters you need it’s time to start reviewing them and figuring out where the problem is, anybody who has ever read thru these logs knows they are a mess and takes a lot of practice to read them properly. The tool can be downloaded from http://pal.codeplex.com and is a quick first step it allows you to see at a general level where you might have a problem and then using the perfmon logs, technet, and probably one of the other tools you can go deeper to figure out the precise issue.
While I don’t often get Memory dumps in my troubleshooting steps, it has occurred. If you do not have an engineer who is knowledgeable in using WinDbg and reading dumps, then debugdiag can help you to collect and analyze memory dumps
If you need to know what a process is doing this, can give you a quick insight hopefully removing the need to perform memory dump. I have used this several times for search and web front end activities, with great results.
Process Explorer v16.04
Depending on the version of SQL you will want to use one version or the other. The tool collects many different pieces of data including things like SQL Profiler trace which are extremely helpful in troubleshooting SQL issues.
How to use SQLDiag, SQLNexus and PAL tools to analyze performance issues in SQL Server
Pssdiag and Sqldiag Manager
SQL Diag Configuration Tool (SDCT)