Deadlock should be checked for periodically or when a resource request is made by a process. Deadlock detection algorithms can be implemented to check for deadlock conditions and take appropriate actions to resolve them. Additionally, deadlock can also be checked for when a process is waiting for a resource that is currently held by another process, as this can potentially lead to a deadlock situation.