A method for storing and accessing queued packet data in a network device, the method comprising: detecting depletion of available memory space in an internal memory of the network device, wherein the internal memory is associated with a packet processor, the internal memory stores network packet data from a plurality of network packets, and the network packet data is stored as entries of one or more egress packet queues; selecting an egress packet queue from which to evict one or more associated packets from the internal memory; selecting one or more packets associated with the selected egress packet queue for evicting from the internal memory; copying the selected packets to an external memory coupled to the packet processor; releasing internal memory resources associated with the copied packets; and accessing an entry from an egress packet queue, wherein packet data for the entry is retrieved from one of the internal memory or external memory in response to previously copying the selected packets to the external memory, characterized in that selecting the egress packet queue further comprises: selecting an egress port from which to evict packets, wherein a first subset of the one or more egress packet queues are associated with the egress port; finding a lowest priority egress packet queue of the first subset of the one or more egress packet queues; and determining whether the selected egress packet queue comprises packet entries consuming a sufficient amount of data in the internal memory to increase the available memory space in the internal memory above a second predetermined threshold. detecting depletion of available memory space in an internal memory of the network device, wherein the internal memory is associated with a packet processor, the internal memory stores network packet data from a plurality of network packets, and the network packet data is stored as entries of one or more egress packet queues; the internal memory is associated with a packet processor, the internal memory stores network packet data from a plurality of network packets, and the network packet data is stored as entries of one or more egress packet queues; selecting an egress packet queue from which to evict one or more associated packets from the internal memory; selecting one or more packets associated with the selected egress packet queue for evicting from the internal memory; copying the selected packets to an external memory coupled to the packet processor; releasing internal memory resources associated with the copied packets; and accessing an entry from an egress packet queue, wherein packet data for the entry is retrieved from one of the internal memory or external memory in response to previously copying the selected packets to the external memory, characterized in that selecting the egress packet queue further comprises: selecting an egress port from which to evict packets, wherein a first subset of the one or more egress packet queues are associated with the egress port; finding a lowest priority egress packet queue of the first subset of the one or more egress packet queues; and determining whether the selected egress packet queue comprises packet entries consuming a sufficient amount of data in the internal memory to increase the available memory space in the internal memory above a second predetermined threshold. packet data for the entry is retrieved from one of the internal memory or external memory in response to previously copying the selected packets to the external memory, characterized in that selecting the egress packet queue further comprises: selecting an egress port from which to evict packets, wherein a first subset of the one or more egress packet queues are associated with the egress port; finding a lowest priority egress packet queue of the first subset of the one or more egress packet queues; and determining whether the selected egress packet queue comprises packet entries consuming a sufficient amount of data in the internal memory to increase the available memory space in the internal memory above a second predetermined threshold. selecting an egress port from which to evict packets, wherein a first subset of the one or more egress packet queues are associated with the egress port; finding a lowest priority egress packet queue of the first subset of the one or more egress packet queues; and determining whether the selected egress packet queue comprises packet entries consuming a sufficient amount of data in the internal memory to increase the available memory space in the internal memory above a second predetermined threshold.