複数のモジュールで -m フラグを使用できるとは思いません。ただし、スクリプトで cProfile を使用することはまったく難しくありません。
import cProfile, pstats
profiler = cProfile.Profile() # create profiler
profiler.enable() # start profiling
# do stuff
profiler.disable() # end profiling
with open('profile.txt', 'w') as fo: # open a file to print the stats
pstat_profile = pstats.Stats(profiler, stream=fo) # create a pstats object from the profile bound to a file stream
pstat_profile = print_stats() # print stats to a file
これにより、タイミング統計の整理された優れたプリントアウトが得られます。これで、memory_profiler に対して -m を指定してこの変更されたスクリプトを実行し、両方を取得できます。
アクセスを監視するための Python ベースのツールについては知りません。ただし、「IO速度の測定」をGoogleで検索すると、あちこちでヒットするため、サードパーティのユーティリティ(またはLinuxを使用している場合はDDなどの組み込みツール)を見つけることができるはずです。スクリプトの起動時に IO パフォーマンスを追跡するために使用します。
最終的には、IO ロガー内のメモリ プロファイラーの下で時間プロファイリング スクリプトを実行することになりますが、それらはうまく連携して動作し、それらの相互作用を簡単に見つけることができるはずです。たとえば、時間プロファイラーのスクリプト内起動は、メモリ プロファイルにメモリ割り当てとして表示されますが、無視できることがわかります。