Why do you expect them to be identical?
There are no guarantees about synchronization between mempool contents. In fact, if there was, we wouldn't need a blockchain at all. We'd just use "time of entering mempool" to order transactions.
Transactions are relayed across the network, but under various conditions, and usually the mempool contents reflects what a node decided to relay.
Reasons for variations between nodes:
- Only the first of two double spends will typically enter the mempool (but some nodes use different policies, such a replace by fee).
- There are various versions of nodes out there, with different relay fee requirements.
- In some cases, relay is subjected to rate limiting, which means arbitrary dropping of transactions.
- Standardness rules have changed over time, changing which types of transactions are accepted into the mempool.
Where are these servers geographically located? Do they have the same .config files and command line parameters? Did you try restarting them both at the same time? – George Kimionis – 2014-12-11T22:10:29.787
In addition to @GeorgeKimionis's suggestions, you may want to use the
-addnodestart-up option or theaddnodeRPC to make sure both servers are connected to each other. – David A. Harding – 2014-12-11T23:14:25.857